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

Dạng bài tập về Micosoft.NET- P21 doc

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 184,88 KB

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

Nội dung

Các bài tập Microsoft .NET 102Khi Dialog hiện ra, bạn chọn Unicode UTF-8 cho Encoding: Nếu bạn không thấy có menuItem Advanced Save Option trong Menu File thì cứ dùng menuItem Save As..

Trang 1

Các bài tập Microsoft NET 101

Ghi chú

Nếu sau khi Unzip source file và load project vào, bạn dùng IDE Menu

command Build | Rebuild Solution để compile lại hết các modules

nhưng gặp error về references thì hãy làm như sau:

• Trong Solution Explorer click các tree nodes

references để tìm các references có dấu chấm thang

trong tam giác vàng và remove chúng

Dùng Menu command Project | Add Reference để chọn *.dll lại từ một \bin subfolder.

• Rebuild Solution

Nếu bạn dùng chữ Việt Unicode trong program thì nhớ set up Advanced

Save Option với Menu command File như trong hình dưới đây:

Trang 2

Các bài tập Microsoft NET 102

Khi Dialog hiện ra, bạn chọn Unicode (UTF-8) cho Encoding:

Nếu bạn không thấy có menuItem Advanced Save Option trong Menu

File thì cứ dùng menuItem Save As rồi click lên combo box Save phía dưới, bên phải của Save File As Dialog rồi chọn Save with Encoding

như trong hình dưới đây:

Trang 3

Các bài tập Microsoft NET 103

Nếu bạn quên set up Advanced Save Option như trên, chữ Việt sẽ bị lưu trử dưới dạng ANSI nên một số sẽ mất dấu chữ Việt và thay vào đó bằng

những dấu ?.

Shared Events

Events có thể được declared là Shared Shared methods chỉ có thể raise

shared events, chúng không thể raise non-shared events Thí dụ như:

Public Class NguồnEvent

Shared Event EventDùngChoSharedMethods()

Public Shared Sub DùngChung()

RaiseEvent EventDùngChoSharedMethods()

End Sub

End Class

Một shared event có thể được raised bởi cả shared methods lẫn non-shared methods:

Public Class NguồnEvent

Public Event TheEvent()

Trang 4

Các bài tập Microsoft NET 104

Shared Event EventDùngChoSharedMethods()

Public Shared Sub DùngChung()

RaiseEvent EventDùngChoSharedMethods()

End Sub

Public Sub LàmViệc()

RaiseEvent TheEvent()

RaiseEvent EventDùngChoSharedMethods()

End Sub

End Class

Nếu bạn tìm cách raise một non-shared event từ một shared method thì sẽ

bị syntax error

Early Binding hay Late Binding (Hiệu lực Sớm hay Trễ)

Early Binding có nghĩa là program biết rõ ngay từ đầu loại Object (thuộc

Class nào) sẽ được dùng trong hoàn cảnh nào Nó cho phép IntelliSense hiển thị cho ta thấy những class members nào ta có thể dùng và compiler kiểm xem những methods ta dùng có hiện hữu không Early Binding code được compiled ra IL rất hiệu năng vì compiler biết rõ ràng data types của các parameters

Ngược lại Late Binding có nghĩa là ta làm việc cách linh động với một

Object lúc run-time, tức là program không biết trước Object ấy thuộc loại nào Late Binding cho ta sự uyển chuyển chỉ làm sao Object cung cấp đúng method cần thiết là đủ Do đó, ta không hưởng được sự sang trọng IntelliSense cung cấp và compiler không thể kiểm soát loại Object trước dùm cho ta được Mặc dầu Late Binding code chạy chậm hơn nhưng nó cho ta sự tự do giống như khi làm việc ngoài đời, để đến giờ chót mới xác nhận

By Default, mọi objects trong VB.NET đều là Late Bound Visual

Studio.NET IDE với Option Strict Off by default áp đặt luật đó Nếu muốn áp đặt Early Binding ta cần phải nhét câu Option Strict On ở đầu

một source file

Trang 5

Các bài tập Microsoft NET 105

Dùng Object Type

Ta có Late Binding khi compiler không thể xác định loại Object ta đang

gọi Ta có thể thực hiện điều này bằng cách dùng Object Type để tuyên

bố một cách mơ hồ rằng ta sẽ dùng một loại Object nào đó, vì một variable với Object type có thể hold-reference-to bất cứ một Object nào

Do đó, những dòng code sau đây có thể được dùng cho bất cứ Object nào

mà Class của nó có implement Sub CôngTácTôi và không dùng

parameter nào cả:

Option Strict Off

Module LateBind

Public Sub LàmViệc( ByVal obj As Object)

obj.CôngTácTôi()

End Sub

End Module

Nếu obj passed vào Sub LàmViệc không có một Sub CôngTácTôi

chẳng dùng parameter nào hết thì program sẽ bị error lúc run-time Do đó,

ta nên luôn luôn dùng một Try Structure để bắt cái error đó Thí dụ như:

Option Strict Off

Module LateBind

Public Sub LàmViệc( ByVal obj As Object)

Try

obj.CôngTácTôi()

Catch e As Exception

' Code để xử lý trường hợp Object không thích hợp

Console.WriteLine("Invalid Object passed to LàmViệc")

End Try

End Sub

End Module

Late Binding và Reflection

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

TỪ KHÓA LIÊN QUAN

w