Các bài tập Microsoft .NET 1 phần 4
Số trang: 18
Loại file: pdf
Dung lượng: 348.63 KB
Lượt xem: 11
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Nếu ta không code gì ở phần Catch thì có nghĩa là chúng ta có Handle Error nhưng lại không làm gì hết, do đó Program sẽ không té. Ngược lại, nếu ta không dùng Try..Catch, thì program sẽ té.
Nội dung trích xuất từ tài liệu:
Các bài tập Microsoft .NET 1 phần 4Các bài tập Microsoft .NET 55Try result = a / b if this section has error jump to Catch sectionCatch only get here if an error occurs between Try and Catch result = 0Finally This section is optional, but is always executed whether there is an error or not Console.WriteLine( result)End TryNếu ta không code gì ở phần Catch thì có nghĩa là chúng ta có HandleError nhưng lại không làm gì hết, do đó Program sẽ không té. Ngược lại,nếu ta không dùng Try..Catch, thì program sẽ té.Nếu muốn nhảy ra khỏi Try Structure bất cứ lúc nào ta có thể dùng ExitTry,Những cách CATCH errorTa có thể dùng Catch giống như Select Case để có một cách xử lý chomỗi error:Try Main code goes hereCatch When Err.Number=5 handle Error 5Catch handle other errorsEnd TryTa có thể Catch Error Exception data trong một variable để dùng nó nhưsau:Catch e as Exception MessageBox.Show (e.ToString)Hai cách code ở trên có thể được gợp lại thành:Các bài tập Microsoft .NET 56Catch e As Exception When Err.Number = 5Thay đổi trong cách viết Sub/FunctionDùng dấu ngoặc khi gọi ProcedureTrong VB6, nếu không dùng keyword Call ta không dùng dấu ngoặc khigọi Sub. Trong VB.NET ta luôn luôn dùng cặp dấu ngoặc, ngay cả khikhông có parameter. Thí dụ:ProcessData()x = New Customer()ByVal là Default cho mọi ParametersTrong VB6, ByRef là default cho các parameters passed vôSub/Function. Tức là, Sub/Function có thể vô tình làm thay thổi trị sốnguyên thủy của parameter variables.Trong VB.NET, ByVal là default cho các parameters passed vôSub/Function. Do đó, nó sẽ tránh lỗi lầm nói trên.Optional Parameter cần có trị số DefaultTrong VB6 ta có thể dùng IsMissing để biết xem Optional parametercó hiện diện không. VB.NET đã bỏ IsMissing và bắt buộc ta phải cungcấp trị số Default cho Optional parameter trong phần proceduredeclaration giống như sau đây :Public Sub VerifyInput (Optional ByVal InputData As String=)trong thí dụ này ta cho Default value của Optional parameter InputData làEmpty string.Return StatementHãy xem một thí dụ dùng Function để return một Customer Object trongVB6:Public Function GetCustomer (ByVal CustID As Long) As Customer Dim objCust As Customer Set objCust = New Customer objCust.Load CustIDCác bài tập Microsoft .NET 57 Set GetCustomer = objCustEnd FunctionTrong VB.NET ta có thể dùng Return Statement để Return kết quả củamột Function thay vì dùng chính tên của Function.Public Function GetCustomer (ByVal CustID As Long) As Customer Dim objCust As New Customer(CustID) Return objCustEnd FunctionDelegateDelegate là một cách giúp ta pass một procedure như một parameter vàotrong một method. Ý niệm này được gọi là Function Pointer hayCallback. Một trường hợp cổ điển ta dùng Delegate là cung cấp mộtdataArray để sort với một Function để so sánh mỗi hai items trong array.Trong VB.NET ta dùng AddressOf operator để pass một procedure. Tadeclare một Delegate bằng cách nói nó là một procedure dưới dạng nào,có bao nhiêu parameters, mỗi parameter thuộc loại data type nào. Thí dụ:Delegate Function IsGreater (ByVal v1 As Integer, ByVal v2 As Integer) as BooleanKhi viết code ta cứ yên tâm sẽ được cung cấp một Function có dạng ấy vàđại khái code như sau:Public Sub DoSort (ByRef DataArray() As Integer, Greater As IsGreater) Dim outer As Integer Dim inner As Integer Dim temp As Integer For outer = 0 To UBound(DataArray) For inner = outer + 1 To UBound(DataArray) If GreaterThan.Invoke( DataArray(outer), DataArray(inner)) Then temp = DataArray(outer) DataArray(outer) = DataArray(inner) DataArray(inner) = tempCác bài tập Microsoft .NET 58 End If Next NextEnd SubĐể ý cách dùng Method Invoke để gọi một Delegate. Bây giờ ta chỉ cầncung cấp Delegate routine mà ta đã hứa:Public Function myIsGreater (ByVal v1 As Integer, ByVal v2 As Integer) as Boolean Return ( v1 > v2)End FunctionTiếp theo đây là cách ta dùng Delegate nói trên:Dim myData() As Integer = { 2, 5, 8, 13, 26}DoSort (myData, AddressOf myIsGreater)Khi một Subscriber registers với một Publisher một routine để Handlemột loại Event, ta cũng dùng delegate như sau:AddHandler Button4.Click, AddressOf Button4_ClickKhi một Event Click xãy ra ở Button4, system sẽ execute SubButton4_Click.Các bài tập Microsoft .NET 59 Bài 4 Những chức năng Đối Tượng mới của VB.NET (phần I)V B.NET khắc phục những giới hạn về Đối Tượng (Object-Oriented)của VB6 và mang đến cho ta một ngôn ngữ lập trình hoàn toàn Object-Oriented (OO). Gần như mọi thứ tro ...
Nội dung trích xuất từ tài liệu:
Các bài tập Microsoft .NET 1 phần 4Các bài tập Microsoft .NET 55Try result = a / b if this section has error jump to Catch sectionCatch only get here if an error occurs between Try and Catch result = 0Finally This section is optional, but is always executed whether there is an error or not Console.WriteLine( result)End TryNếu ta không code gì ở phần Catch thì có nghĩa là chúng ta có HandleError nhưng lại không làm gì hết, do đó Program sẽ không té. Ngược lại,nếu ta không dùng Try..Catch, thì program sẽ té.Nếu muốn nhảy ra khỏi Try Structure bất cứ lúc nào ta có thể dùng ExitTry,Những cách CATCH errorTa có thể dùng Catch giống như Select Case để có một cách xử lý chomỗi error:Try Main code goes hereCatch When Err.Number=5 handle Error 5Catch handle other errorsEnd TryTa có thể Catch Error Exception data trong một variable để dùng nó nhưsau:Catch e as Exception MessageBox.Show (e.ToString)Hai cách code ở trên có thể được gợp lại thành:Các bài tập Microsoft .NET 56Catch e As Exception When Err.Number = 5Thay đổi trong cách viết Sub/FunctionDùng dấu ngoặc khi gọi ProcedureTrong VB6, nếu không dùng keyword Call ta không dùng dấu ngoặc khigọi Sub. Trong VB.NET ta luôn luôn dùng cặp dấu ngoặc, ngay cả khikhông có parameter. Thí dụ:ProcessData()x = New Customer()ByVal là Default cho mọi ParametersTrong VB6, ByRef là default cho các parameters passed vôSub/Function. Tức là, Sub/Function có thể vô tình làm thay thổi trị sốnguyên thủy của parameter variables.Trong VB.NET, ByVal là default cho các parameters passed vôSub/Function. Do đó, nó sẽ tránh lỗi lầm nói trên.Optional Parameter cần có trị số DefaultTrong VB6 ta có thể dùng IsMissing để biết xem Optional parametercó hiện diện không. VB.NET đã bỏ IsMissing và bắt buộc ta phải cungcấp trị số Default cho Optional parameter trong phần proceduredeclaration giống như sau đây :Public Sub VerifyInput (Optional ByVal InputData As String=)trong thí dụ này ta cho Default value của Optional parameter InputData làEmpty string.Return StatementHãy xem một thí dụ dùng Function để return một Customer Object trongVB6:Public Function GetCustomer (ByVal CustID As Long) As Customer Dim objCust As Customer Set objCust = New Customer objCust.Load CustIDCác bài tập Microsoft .NET 57 Set GetCustomer = objCustEnd FunctionTrong VB.NET ta có thể dùng Return Statement để Return kết quả củamột Function thay vì dùng chính tên của Function.Public Function GetCustomer (ByVal CustID As Long) As Customer Dim objCust As New Customer(CustID) Return objCustEnd FunctionDelegateDelegate là một cách giúp ta pass một procedure như một parameter vàotrong một method. Ý niệm này được gọi là Function Pointer hayCallback. Một trường hợp cổ điển ta dùng Delegate là cung cấp mộtdataArray để sort với một Function để so sánh mỗi hai items trong array.Trong VB.NET ta dùng AddressOf operator để pass một procedure. Tadeclare một Delegate bằng cách nói nó là một procedure dưới dạng nào,có bao nhiêu parameters, mỗi parameter thuộc loại data type nào. Thí dụ:Delegate Function IsGreater (ByVal v1 As Integer, ByVal v2 As Integer) as BooleanKhi viết code ta cứ yên tâm sẽ được cung cấp một Function có dạng ấy vàđại khái code như sau:Public Sub DoSort (ByRef DataArray() As Integer, Greater As IsGreater) Dim outer As Integer Dim inner As Integer Dim temp As Integer For outer = 0 To UBound(DataArray) For inner = outer + 1 To UBound(DataArray) If GreaterThan.Invoke( DataArray(outer), DataArray(inner)) Then temp = DataArray(outer) DataArray(outer) = DataArray(inner) DataArray(inner) = tempCác bài tập Microsoft .NET 58 End If Next NextEnd SubĐể ý cách dùng Method Invoke để gọi một Delegate. Bây giờ ta chỉ cầncung cấp Delegate routine mà ta đã hứa:Public Function myIsGreater (ByVal v1 As Integer, ByVal v2 As Integer) as Boolean Return ( v1 > v2)End FunctionTiếp theo đây là cách ta dùng Delegate nói trên:Dim myData() As Integer = { 2, 5, 8, 13, 26}DoSort (myData, AddressOf myIsGreater)Khi một Subscriber registers với một Publisher một routine để Handlemột loại Event, ta cũng dùng delegate như sau:AddHandler Button4.Click, AddressOf Button4_ClickKhi một Event Click xãy ra ở Button4, system sẽ execute SubButton4_Click.Các bài tập Microsoft .NET 59 Bài 4 Những chức năng Đối Tượng mới của VB.NET (phần I)V B.NET khắc phục những giới hạn về Đối Tượng (Object-Oriented)của VB6 và mang đến cho ta một ngôn ngữ lập trình hoàn toàn Object-Oriented (OO). Gần như mọi thứ tro ...
Tìm kiếm theo từ khóa liên quan:
tài liệu window thủ thuật window hướng dẫn window thủ thuật tin học bí quyết tin họcGợi ý tài liệu liên quan:
-
Cách phân tích thiết kế hệ thống thông tin quan trọng phần 4
13 trang 215 0 0 -
Sửa lỗi các chức năng quan trọng của Win với ReEnable 2.0 Portable Edition
5 trang 211 0 0 -
Bài giảng điện tử môn tin học: Quản trị các hệ thống thông tin quản lý xuyên quốc gia
27 trang 210 0 0 -
Các phương pháp nâng cấp cho Windows Explorer trong Windows
5 trang 197 0 0 -
Tổng quan về ngôn ngữ lập trình C part 1
64 trang 194 0 0 -
Phục hồi mật khẩu đăng nhập windowsNếu chính chủ nhân của chiếc máy tính
3 trang 184 0 0 -
Thủ thuật với bàn phím trong Windows
3 trang 165 0 0 -
bảo mật mạng các phương thức giả mạo địa chỉ IP fake IP
13 trang 158 0 0 -
TÀI LIỆU HƯỚNG DẪN SỬ DỤNG PHẦN MỀM KHAI BÁO HẢI QUAN ĐIỆN TỬ phần 1
18 trang 156 0 0 -
3 nguyên tắc vàng để luôn an toàn khi duyệt web
8 trang 75 0 0