我读过两本书,很多例子.他们仍然对我毫无意义.我可能会写一些使用委托的代码,但我不知道为什么.我是唯一有这个问题的人,还是我只是个白痴?如果有人能够向我解释何时,何地以及为什么我会真正使用代表,我会永远爱你.
由于我是c#的新手,想了解c#中的接口和代理,它们之间的区别以及这两种情况都要使用.请不要提供任何链接,我想用简单的话来解释.
我有一个带有委托声明的课程如下......
Public Class MyClass
Public Delegate Function Getter(Of TResult)() As TResult
''#the following code works.
Public Shared Sub MyMethod(ByVal g As Getter(Of Boolean))
''#do stuff
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
但是,我不想在Method调用中显式键入Getter委托.为什么我不能将参数声明如下......
... (ByVal g As Getter(Of TResult))
Run Code Online (Sandbox Code Playgroud)
有办法吗?
我的最终目标是能够在被调用的类中为属性设置器和getter设置委托.但我的阅读表明你不能这样做.所以我在该类中放置了setter和getter方法,然后我希望调用类设置委托参数然后调用.这样做有最好的做法吗?
我在上面的例子中意识到我可以设置从调用类设置委托变量...但我试图创建一个紧密封装的单例.
为了记录,我不能使用.net35中声明的任何新委托类型.
欢迎使用C#中的答案.
有什么想法吗?
赛斯
我真的在理解事件和委托的概念.我知道委托是持有方法引用的对象,可以调用具有相同返回类型和参数的方法,但那么究竟是什么事件?
如果我需要使用事件来制作一个简单的计算器,那么我该如何使用它们以便有3个事件:一个可以用于数字,一个用于操作符,另一个用于相等或结果操作.