1

我无法理解动态关键字(直到最近才使用 .net 2)。

有人可以解释一下它的用途吗?也许举一个简单但真实的例子,并解释在什么情况下可以使用,优点和缺点等。

4

2 回答 2

2

在实践中,动态的正确使用很少发生,因为只有在没有(方便的)类型安全的方式来做同样的事情时才使用它。

例如:

  1. ASP.NET MVC ViewBag(一般不如自定义 ViewModel 类)
  2. 从 C# 访问 Javascript 对象
  3. 在一些罕见的情况下,您知道对象具有某种方法,但该方法不能静态使用。想想按照约定都具有ID属性的数据库实体

这些是有效的用例,但并不常见。

于 2012-06-20T11:27:21.057 回答
1

这是一种在运行时解析某些类型的方法。

dynamic obj = new A();
obj.method();
于 2012-06-20T09:53:38.633 回答