Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Delegate,shadows Keywords trong C#

  1. #1
    Ngày gia nhập
    01 2008
    Bài viết
    240

    Mặc định Delegate,shadows Keywords trong C#

    Mình muốn hỏi các bạn về ý nghĩa của 1 số từ kháo trong C# mà mình không hiểu
    Delegate,shadows
    thanks
    Time

  2. #2
    Ngày gia nhập
    10 2007
    Bài viết
    37

    Mình chỉ biết về delegate thôi.

    Original post: http://www.codeproject.com/KB/mcpp/csdeleg01.aspx
    Translate to vnese: http://02hcb.com/forum/showthread.php?t=2373

    Theo MSDN:
    The delegate keyword is used to declare a reference type that can be used to encapsulate a named or an anonymous method. Delegates are similar to function pointers in C++; however, delegates are type-safe and secure.
    => delegate chỉ là 1 kiểu tham chiếu, bình thường mình gọi hàm trực tiếp, bây giờ gọi thông qua delegate cho nó safe and secure.

    Xét Named MethodAnonymous Method.
    Named Method: truyền Method đã đc định nghĩa sẵn cho delegate.
    Anonymous Method: Định nghĩa thân hàm luôn khi khởi tạo delegate.

    ví dụ:
    Visual C# Code:
    1. //Định nghĩa 1 delegate
    2. //delegate này dùng để tính toán trên 2 số
    3. delegate int Operation(int a, int b);
    4.  
    5. static int AddFunction(int a, int b)
    6. {
    7.         return a + b;
    8. }
    9.  
    10. // Instantiate delegate with "named method":
    11. Operation Add = AddFunction;
    12. // Instantiate delegate with "anonymous method":
    13. Operation Minus = delegate(int a, int b)
    14. {
    15.          return a - b;
    16. };
    17.  
    18. // Invoke delegate Add:
    19. Add(2,3);
    20. // Invoke delegate Minus:
    21. Minus(5,7);

    Sử dụng:
    - Theo MSDN: Delegates are the basis for Events.
    Events and Delegates
    - Tránh bị "Cross-thread operation not valid" khi có nhiều hơn 1 Thread truy xuất đến 1 đối tượng nào đó
    How to: Make Thread-Safe Calls to Windows Forms Controls
    - ...

  3. #3
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Trong C# không có khái niệm shadows thì phải, nó chỉ có trong VB.NET, nên khỏi dịch sang tiếng Việt luôn ha.
    The Shadows keyword indicates that a declared programming element shadows, or hides, an identically named element, or set of overloaded elements, in a base class. You can shadow any kind of declared element with any other kind.

    A shadowed element is normally unavailable from within the derived class that shadows it. However, the following considerations apply:

    If the shadowing element is not accessible from the code referring to it, for example if it is Private, the reference is resolved to the shadowed element.
    If you shadow an element, you can still access the shadowed element through an object declared with the type of the base class.
    The purpose of shadowing is to protect the definition of your class members. The base class might undergo a change that creates an element with the same name as one you have already defined. If this happens, the Shadows keyword forces references through your class to be resolved to your previously defined member, instead of to the new base class element.

    The Shadows keyword is used in these contexts:

    Class Statement

    Const Statement

    Declare Statement

    Delegate Statement

    Dim Statement

    Enum Statement

    Event Statement

    Function Statement
    Còn cái delegate:
    The delegate keyword is used to declare a reference type that can be used to encapsulate a named or an anonymous method. Delegates are similar to function pointers in C++; however, delegates are type-safe and secure.
    Dr dịch tạm thế này:
    Từ khóa delegate được sử dụng để khai báo một kiểu tham chiếu mà được sử dụng để gói (encapsulate) một tên hoặc một anonymous method. Delegate là tương tự như con trỏ hàm (function pointers) trong C++; tuy nhiên nó là kiểu an toàn và bền vững(secure).

    Cách sử dụng thì MSDN có nhiều lắm! Hiểu về con trỏ hàm thì hoàn toàn có thể sử dụng cái này rất dễ dàng.
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

Các đề tài tương tự

  1. Cách dùng delegate trong lập trình C#
    Gửi bởi zkday2686 trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 50
    Bài viết cuối: 08-02-2017, 09:06 PM
  2. Cơ bản Delegate trong lập trình C#
    Gửi bởi Yin Yang trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 11
    Bài viết cuối: 07-11-2012, 01:22 AM
  3. Database event và delegate trong c #
    Gửi bởi binh08dbb trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 05-07-2011, 11:01 PM
  4. hàm delegate trong C# sử dụng như thế nào?
    Gửi bởi gacon09cntt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 03-12-2010, 05:41 PM
  5. Delegate trong C#, help me!
    Gửi bởi MaiLinh trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 3
    Bài viết cuối: 23-10-2009, 09:27 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn