1
也许我只是没有正确读取MSDN文档,但给了一个函数,它接受一个字符串参数并返回类型T,如何将它指定为使用Func()的共享函数?如何在委托上指定泛型?
MSDN说Func(Of In T1, Out TResult)
,但它们的所有示例都使用相同的数据类型,即Func(Of String, String)
。我想做Func(Of In String, Out T)
,其中T是任意的(但是如果需要,我可以通过基类来限制它)。我希望它在类级别共享/静态,但封装类本身不会是一个通用类。在这个特定的场景中,似乎不可能做我想做的事,因为编译器无法知道类型T在运行时是什么。
那么有可能在代理或匿名lambda表达式在VB.net(而不是C#)上做泛型?
得到了VB.net表单?尽管在C中有点受过教育,但我发现很难理解C#。 – Kumba 2010-11-15 10:05:11
是的,我应该补充,封装在一个方法中,我可以做我想做的事情。我想创建一个代表字典,在这里这个问题的更多的东西:http://stackoverflow.com/questions/2550218/how-to-store-a-function-pointer-in-c – Kumba 2010-11-15 10:07:32
Mostly因为当我需要确定运行时对象的类型时,我试图找到避免大型“Select Case ...”语句的更好方法。我遇到了使用多态的参考来做到这一点,而不是大的条件块。困难的部分是找到一个这样的体面的例子。 – Kumba 2010-11-15 10:09:00