1. Trang chủ
  2. » Công Nghệ Thông Tin

Chuyên đề C# potx

84 179 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 84
Dung lượng 1,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

.NET Platform Visual Studio .NET các ng d ng trên .NET Framework... .NET Framework Common Language Runtime Framework Class Library Common Language Specification... Common Language Runtim

Trang 1

Chuyên ñề C#

ThS Tôn Quang To i TonQuangToai@yahoo.com

Trang 4

Tài li u tham kh o {1/2}

Anders Hejlsberg, Scott Wiltamuth, Peter Golde, “C#

Programming Language”, Addison Wesley 2003.

Charles Petzold, “Programming in the Key of C#”,

Microsoft Press 2004

• Nagel, Bill Evjen, Jay Glynn, Morgan SkinnerandKarli

Watson, “Professional C# 2005 with NET 3.0”,

Trang 5

Tài li u tham kh o {2/2}

 Websites

Trang 6

Gii thiu Microsoft

.NET Platform

Chương 1

Trang 7

N i dung

 Gi i thi u NET Platform

 Gi i thi u NET Framework

 Nh ng thu n l i c a NET Framework

 Các thành ph n c a NET Framework

 Các lo i ngôn ng l p trình trên NET

 Các lo i ng d ng có th vi t v i NET

 Quá trình t o, biên d ch và ch y ch ng trình

Trang 8

Microsoft NET Platform

Trang 9

.NET Platform

 NET Platform

• NET Platform là m t t p các công c và công

ngh giúp xây d ng d dàng các ng d ng Internet

 M c ích c a NET Platform

Trang 10

• NET Enterprise Servers

• Visual Studio NET

Trang 11

.NET Platform

.NET Framework

Building Block Services

Visual Studio NET

With NET New Available

Internet

Trang 12

.NET Platform

 NET Framework

chung cho vi c xây d ng, tri n khai và ch y các ng d ng

– Không g n ch t vào ngôn ng – Nhi u ti n ích khác giúp cho vi c phát tri n các

ng d ng nhanh, hi u qu

Trang 13

.NET Platform

• NET My Services là m t t p XML Web Service cho

phép user truy c p thông tin qua Internet Dùng các NET My Service các ng d ng có th truy n thông

tr c ti p b ng giao th c SOAP và XML

• M t s services

– NET Calendar, – NET Contacts, – NET Inbox, – NET Documents – …

Trang 14

.NET Platform

• M t nhóm các s n ph m c a Microsoft M i s n

ph m trong h này ph trách m t thành ph n then

ch t cho ki n trúc ng d ng ang phát tri n

Trang 15

.NET và NET Enterprise Servers

Host Integration Server

Internet

BizTalk Server

Mainframe/ Host System

Trang 16

.NET Platform: Orchestration

SQL Server

Host Integration Server

Internet

.NET Applications

Mainframe/ Host System

Trang 17

.NET Platform

 Visual Studio NET

các ng d ng trên NET Framework

Trang 18

Microsoft NET Framework

Trang 19

.NET Framework

 Các m c ích thi t k NET Framework

• Mô hình l p trình th ng nh t

trình)

ngh chu n: HTTP, XML, SOAP)

Trang 20

Stateless, Code ñược nhúng vào các trang

HTML

MFC/ATL

Subclassing, Power, Expressiveness

VB Forms

RAD,

Composition,

Delegation

Trang 21

n gi n vi c phát tri n ng d ng

HWND hwndMain = CreateWindowEx(

0, "MainWClass", "Main Window", WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL, CW_USEDEFAULT, CW_USEDEFAULT,

CW_USEDEFAULT, CW_USEDEFAULT, (HWND)NULL, (HMENU)NULL, hInstance, NULL);

ShowWindow(hwndMain, SW_SHOWDEFAULT);

UpdateWindow(hwndMain);

Form form = new Form();

form.Text = "Main Window";

form.Show();

Windows API

.NET Framework

Trang 22

.NET Framework

• NET Framework 1.0 – Visual Studio 2002

• NET Framework 1.1 – Visual Studio 2003

• NET Framework 2.0 – Visual Studio 2005

• NET Framework 3.0 – Visual Studio 2005

• NET Framework 3.5 – Visual Studio 2008

Framework g m có 2 thành ph n chính:

• Common Language Runtime (CLR)

• Framework Class Library (FCL)

Trang 23

.NET Framework

Common Language Runtime

Framework Class Library

Common Language Specification

Trang 24

Common Language Runtime

– CLR –

Trang 25

Common Language Runtime

nh ngh a

• CLR là môi tr ng th c thi cho ngôn ng chung và

các d ch v trong quá trình th c thi

• Ví d m t s d ch v CLR

– Biên d ch – Qu n lý b nh – Qu n lý thread – Qu n lý ngo i l – B o m t

– Ki m tra an toàn ki u – …

Trang 26

th c l n u tiên c g i

Execution

JIT Compiler

Native Code

MSIL

Code Metadata

Source Code

Language Compiler

Trang 27

Common Language Runtime

 Các lo i code trong NET

Trang 28

Common Language Runtime

public static void Main()

ldstr "Hello, World" // load string onto stack

// Call static System.Console.Writeline function // (function pops string from the stack)

call void [mscorlib]System.Console::WriteLine(class System.String)

// *****************************************************

ldstr "Press Enter to continue“

call void [mscorlib]System.Console::WriteLine(class System.String)

// Call the System.Console.Read function call int32 [mscorlib]System.Console::Read()

// The pop instruction removes the top element from the stack.

// (remove number returned by Read() function) pop

// *****************************************************

ret }

Trang 29

Common Language Runtime

 MSIL

• MSIL là t p các l nh, mã l nh c p th p do

Microsoft sáng t o ra.

 OptIL

vi c sinh nhanh native code

Trang 30

Native Code

Trang 31

Common Language Runtime

Native Code

RunTime

Trang 32

trình nh : các class, các thành viên, th a k ,

Trang 33

Common Language Runtime

Metadata

 c i m c a Metadata

• Thông tin v các ki u c a Language-neutral

Trang 34

Common Language Runtime

Metadata

• Identity: name, version, culture, [public key]

• Các ki u (types) nào c export?

• Các assemblies nào mà nó ph thu c?

• Quy n b o m t nào th c thi?

 Mô t các ki u

• Name, visibility, base class, các interfaces c implement

• Members (methods, fields, properties, events, các ki u l ng

Trang 35

Common Language Runtime

Trang 36

• Các Custom attributes có th c dùng

– Obsolete – Biên d ch cho debugging

Trang 37

Common Language Runtime

Trang 38

Common Language Runtime

Assembly

• Trong Microsoft NET Framework m t assembly là m t

ph n th vi n code ã c biên d ch dùng cho tri n khai

• Trong hi n th c Microsoft Window c a NET

Framework m t assembly c l u trong m t file PE (portable executable)

• Process assemblies (EXE)

• Library assemblies (DLL)

Trang 39

Common Language Runtime

Assembly

 Các thành ph n trong assembly

Trang 41

Common Language Runtime

Assembly

 M t assembly có th g m m t hay nhi u file

Các code file c g i là các modules M t

assembly có th có ch a nhi u code module

 Có th dùng nhi u ngôn ng khác nhau

t o ra các code module nên v m c k thu t

có th dùng nhi u ngôn ng khác nhau

t o m t assembly

Trang 42

Nhiều managed modules và

Trang 43

Common Language Runtime

JIT Compiler

 Trình biên d ch JIT

• Trình biên d ch JIT là trình biên d ch lúc th c thi v i nhi m

v chuy n i MSIL (assemplies) sang native code.

• JIP c l p ngôn ng l p trình

• JIT ph thu c ki n trúc CPU

• JIP biên d ch cho m i ph ng th c l n u tiên ch y

• Native code c l u l i dùng l i sau này

 CLR cung c p 3 trình biên d ch JIT chuy n MSIL sang native

code:

• EconoJIT

• JIT

• optJIT

Trang 44

Small OptIL only

OptJIT

(not in V1)

High Moderate

Medium to Large MSIL (incl OptIL)

JIT

Low Very Fast

Very Small MSIL (incl OptIL)

EconoJIT

Quality of Output

Compilation

Speed

JIT Compiler Overhead Input Language

JIT Compiler

Trang 45

Common Language Runtime

Base Class Library Support

IL to Native Compilers

Code Manager

Garbage Collector

Trang 46

Common Language Runtime – CLR {2}

 The CLR cung cp các dch vsau:

• Qu n lý code

• Xác th c ki u an toàn trong MSIL

• Chuy n i MSIL sang native code

• N p và th c thi code c qu n lý (MSIL or native)

Trang 47

Common Language Runtime – CLR {7}

Trang 48

.NET Framework Class Library

– FCL –

Trang 49

.NET Framework Class Library

 Framework Class Library – FCL: M t t p th

vi n l p trong NET

 Net Framework thay th ph n l n (m c dù

không ph i t t c ) các t p Windows API b ng

th vi n l p h ng i t ng và c qu n

lý t t

Trang 50

System.Reflection System.Net System

System.Threading System.Text System.Security System.Runtime.

InteropServices

Trang 51

• H tr xây d ng các ng d ng web (thin client).

• H tr xây d ng các ng d ng desktop (thick client)

• H tr xây d ng các ng d ng XML web service

Trang 53

System.Xml

Trang 54

Services Description Discovery Protocols

UI HtmlControls WebControls

Trang 55

User Interface cho Windows

System.Drawing System.Windows.Forms

Trang 56

 C# (C-Sharp) – c thi t k cho NET

Ngôn ng ng thành ph n m i (component-oriented)

 C++ NET

Các m r ng code c qu n lý cho C++

 Visual Basic NET

Version m i c a Visual Basic, có nhi u i m i

Trang 57

Các ngôn ng trong NET Framework

 Ngôn ng hãng th ba (Third-party)

• APL, COBOL, Pascal, Eiffel, Haskell, ML,

Oberon, Perl, Python, Scheme, Smalltalk…

Trang 58

Các loing dng có th

vi ế t vi NET

Trang 59

• Windows control library

• Web control library

Trang 60

 Vi t mã ngu n b ng 1 trong các ngôn ng

c NET h tr (C#/ VB.NET, …)

 D ch mã ngu n sang file *.dll hay *.exe ch a

mã trung gian b ng ch ng trình csc.exe

 Khi ch ng trình c ch y trong CLR, JIT

s d ch các mã trung gian sang native code

và th c thi

 Native code c th c thi trong ng c nh

c a CLR

Trang 61

Visual Studio NET

Trang 62

Các phiên b n Visual Studio NET

 Visual Studio NET 2003

• Professional, Enterprise Developer, Enterprise Architect, và Academic

 Visual Studio 2005 Editions

• Visual Studio 2005 Express Editions

• Visual Studio 2005 Standard Edition

• Visual Studio 2005 Professional Edition

• Visual Studio 2005 Team Edition for Software Architects

• Visual Studio 2005 Team Edition for Software Developers

• Visual Studio 2005 Team Edition for Software Testers

• Visual Studio 2005 Team Foundation Server

• Visual Studio 2005 Team Suite

 Visual Studio 2008 Editions

• Visual Studio 2008 Express Editions

• Visual Studio 2008 Professional Edition

• Visual Studio Team System 2008 Development Edition

• Visual Studio Team System 2008 Database Edition

• Visual Studio Team System 2008 Architecture Edition

• Visual Studio Team System 2008 Test Edition

• Visual Studio Team System 2008 Team Foundation Server

• Visual Studio Team System 2008 Team Suite

Trang 63

 Visual Studio NET 2008

• Processor: 2 Ghz

• RAM: 512 MB

• Operating System:

– Windows XP SP2 – Windows 2003

Trang 64

Solutions và Projects

trong NET

Trang 65

 Giúp t ch c và thi hành trên các item chúng ta

ang phát tri n

 Visual Studio.NET projects c dùng nh

b ch a bên trong m t solution qu n lý,

build và debug các item trong ng d ng

Trang 66

Solutions

 M t solution là m t b ch a các

projects và các các solution items

s c build vào trong ng d ng.

 M t solution th ng ch a m t

hay nhi u project có liên quan.

Trang 69

Thi t l p các Project References

 NET Assemblies

 COM Components

 Projects

Trang 71

Ti n trình th c thi trong NET

Class Loader

JIT Compiler with optional verification

Execution Security Checks

EXE/DLL (MSIL and metadata)

Call to an uncompiled method

Runtime Engine

Managed Native Code

Compiler Source

Code

Trang 72

Dynamic Help

Editor/Browser

Properties Server

Explorer

Object Browser

Trang 73

Mô t Integrated Development Environment

 Ch có m t IDE cho m i NET Projects

 Các Projects có th ch a nhi u ngôn ng l p

trình

• Ví d : Visual Basic NET và C# trong cùng

project

 IDE có th tùy bi n qua “My Profile”

 IDE có s n Internet Browser

Trang 75

• Folders ch a subitems

Files”

• Drag-and-drop

Trang 77

Dùng the Object Browser

Objects và các thành viên

Lower-level Items

• Hi n các inheritance

và interfaces

nào các th vi n

l p NET Framework dùng

Method Library

Trang 78

Dùng the Task List

 T ng t Tasks Feature trong Microsoft Outlook

 c l u v i Solution trong file.suo

 Thêm vào Task List

• Có th thêm tasks b ng tay b ng cách ánh vào field thích h p

• Visual Basic NET thêm build errors, upgrade comments, etc

• Có th dùng token strings thêm comments trong code

Trang 81

Recording và dùng Macros

 Có th dùng các Macros cho các nhi m

v l p i l p l i nh chèn Comments

 Macro Explorer cung

c p Macro Navigation

 IDE cung c p các m u:

• Toggle line numbering

• Saving/loading Window Views

• Debugging macros

 ghi Macros m i, Vào Tools/Macros

Trang 82

• - L p trinh Windows Form, ASP.NET, ADO.NET, NET

Remoting, XML Web Service, Windows Service, GDI+

• - T i u hóa code

• - C u trúc file assembly

• Visual Studio NET

• -

Trang 83

Câu h i Ôn t p

1 Gi i thích các khái ni m m i (và ý ngh a các t vi t t t): Net Platform, Net

Framework, CLR, FCL, IL, Metadata, Assembly, JIT, GC

2 Li t kê các ph n t chính c a NET Platform

3 Nêu tên hai ph n chính c a NET Framework

4 Li t kê m t s ngôn ng c h tr trong NET Framework

5 Li t kê các phiên b n NET Framework, C#, Visual Studio.NET

6 Chúng ta g i code th c thi trong Common Language Runtime là gì

7 Gi i thích quy trình biên d ch và th c thi ng d ng trong NET

8 Có bao nhi u cách d ch MSIL sang native code

9 Cho bi t m t s n v ADO.NET

10 Cho bi t m t s n v ASP.NET

11 Cho bi t m t s n v l p trình Windows Form

12 Li t kê m t s ng d ng có th vi t trên NET

13 Khái ni m solution, project trong Visual Studio.NET

14 Thao tác dùng Project References

15 Sau khi t o assembly th c thi assembly trên m t h th ng khác c n có yêu

c u gì

16.

Trang 84

Bài t p

1 Cài t Visual Studio.NET 2005 hay 2008

2 S d ng Visual Studio.NET t o blank solution và thêm m t s project m i

vào solution Th c thi t ng lo i project ã thêm

3 Cài t SQL Server 2005 hay 2008

4 Tìm hi u các thao tác c b n trên SQL Server 2005 hay 2008

5 Tìm n i l u tr trình biên d ch cho ngôn ng C#, Visual Basic.NET sau khi cài

t Visual Studio.NET

6 B1: Dùng ch ng trình Visual Studio.Net vi t ch ng trình xu t dòng ch

“Hello World” lên màn hình console

B2: Tìm ch ng trình MSIL Disassembler (ildasm.exe) Dùng ch ng trình

này xem mã MSIL c a file PE trong B1 và ày sang file *.IL

B3: Tìm ch ng trình MSIL Assembler (ilasm.exe) Dùng ch ng trình này

chuy n file ch a MSIL trong B2 sang l i file PE

7 Tìm ch ng trình Native Image Generator (Ngen.exe) Dùng ch ng trình

này chuy n MSIL sang native code

8 Vào trang http://msdn.microsoft.com/en-us/library/d9kh6s92.aspx xem các

.NET Framework tools

Ngày đăng: 05/08/2014, 20:21

TỪ KHÓA LIÊN QUAN

w