2011-03-11 84 views
0

我有一对夫妇,涵盖这一情景,但我会约一个最容易证明是否有可能知道System.Object是否被实际指定为动态(C#)?

我有一个工厂界面,专写:

interface IFactory 
{ 
    Create<T>(); 
} 

和一块代码,使用它因此:现在

public static void func(IFactory f) 
{ 
    var o = f.Create<dynamic>(); 
} 

,在Create<T>()一个实现 - 在有任何方法,通过在反射T,以确定是否呼叫者打算其对象上动态调度而不是一个第一raightforward object?我有一门课,能够使这种区别将是非常有用的...

我看了看看,如果我可以找到类型或类似的东西,但没有喜悦的属性。

回答

2

dynamic是在呼叫者的眼睛只有,所以没有;这是不可能的AFAIK。至于Create而言,它只是object

+0

是的,当然不同的语言最终会有不同的绑定,但我希望,既然你可以退后一步,同时在IDynamicMetaObjectProvider中绑定一个动态表达式,那么至少c#可能会提供一种方法在一个动态表达式的开始。该死的! – 2011-03-12 00:03:06

相关问题