易丰科技
标题:
c# 4.0 新功能 4/n
[打印本页]
作者:
Calvin
时间:
2011-10-11 15:25
标题:
c# 4.0 新功能 4/n
Dynamic lookup动态类型的支持。
可以呼叫方法,索引、属性,栏位等的操作,C# 会在执行时才进行型别的检查,而非一般在编译时就进行静态检查(static type checking)
class ExampleClass
{
public ExampleClass() { }
public ExampleClass(int v) { }
public void exampleMethod1(int i) { }
public void exampleMethod2(string str) { }
}
复制代码
static void Main(string[] args)
{
ExampleClass ec = new ExampleClass();
ec.exampleMethod1(10, 4); // 编译时会报错
dynamic dynamic_ec = new ExampleClass();
dynamic_ec.exampleMethod1(10, 4); // 编译时不会报错,执行时会报错,因为没有两个参数的方法可用
dynamic_ec.someMethod("some argument", 7, null); // 编译时不会报错,执行时会报错
dynamic_ec.nonexistentMethod(); // 编译时不会报错,执行时会报错
}
复制代码
几种可能用 dynamic 的地方
class ExampleClass
{
// A dynamic field.
static dynamic field;
// A dynamic property.
dynamic prop { get; set; }
// A dynamic return type and a dynamic paramater type.
public dynamic exampleMethod(dynamic d)
{
// A dynamic local variable.
dynamic local = "Local variable";
int two = 2;
if (d is int)
{
return local;
}
else
{
return two;
}
}
}
复制代码
欢迎光临 易丰科技 (http://forum.yftek.com/)
Powered by Discuz! X3