【发布时间】:2014-07-28 02:17:15
【问题描述】:
您好,我有一个包含很多类的命名空间,它们都有一个方法 Destroy(int id) 我想用动态词来调用那个方法。
这是我的例子:
public bool DeleteElement<T>(T tElement)
{
Type t = typeof(T);
dynamic element = tElement;
var id = element.Id;
//until here everything is fine
//here I want to say
(namespace).myClassName.Destroy(id);
//the name of myClassName is like t.ToString()
}
我可以避免命名空间,包括顶部的 using。这个想法是使用动态而不是反射来调用该静态方法,请注意Destroy是T的静态方法。我需要这样的T.Destroy(id)
【问题讨论】:
-
您实际上针对的是哪个框架?
dynamic在 C# 3.0 中不可用。听起来是接口的好时机......(以及相关的泛型类型约束) -
我在 C# 3.0 中向人们提出了这个问题,因为有人可能知道这一点
-
好的,但是它改变了我们可以使用的东西。我们仍然需要知道允许哪些框架元素。
-
@Zinov,关注
c#-3.0标签的人通常也会关注c#标签,所以你不需要包含所有版本;)
标签: c# c#-4.0 dynamictype