C#4.0中“动态”变量的实际用途是什么?如果在调用方法时它们可能不存在,它们有什么用?这是否意味着您可以在动态对象上动态创建方法?这有什么实际用途?您实际上无法动态地创建方法-但您可以获得IDynamicMetaObject的实现(通常通过扩展DynamicObject)来响应,就好像该方法存在一样。用途:首先,你现在不能使用它。它是C#4的一部分,将在未来某个时间发布。基本上,它是一个对象,其属性仅在运行时才知道。也许它来自COM对象。正如您所描述的那样,这可能是“飞行物体的定义”(尽管我认为没有一种工具可以创建那些尚未计划的物体)。它更像是一个System.Object,只是您可以调用编译器不知道的方法,而运行时会知道如何调用。我能想到的两个巨头是鸭子类型和在应用程序中使用C#作为脚本语言的能力,类似于javascript和Python。最后一句让我泪流满面。将其视为一种简化的反射形式。而不是这个:objectvalue=GetSomeObject();方法method=value.GetType().GetMethod("DoSomething");method.Invoke(value,newobject[]{1,2,3});你得到这个:IDynamicObjectvalue=GetSomeObject();值.DoSomething(1,2,3);我看到几个正在编写的动态ORM框架。或者自己写一个。我同意JonSkeet的观点,您可能会看到一些探索对象的有趣方法。也许像jQuery这样的选择器。调用COM和调用动态语言。我期待着看看是否有一种方法可以做类似于Ruby的missing_method的事情。以上就是C#学习教程:C#4.0中“动态”变量的实际用途是什么?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
