C# 使用语言进行反射的类似UML的替代方案

C# 使用语言进行反射的类似UML的替代方案,c#,reflection,uml,C#,Reflection,Uml,当我们谈到使用反射的语言时,是否有UML的扩展/替代? 我的意思是,我试图在编写之前将我的项目表示为UML,但是我总是提出一个“这个方法将通过从文件中加载方法名的反射来调用”,这显然破坏了我的很多图表 说到C#,使用属性可以改变我开发东西的方式,所以我所有的UML图看起来都很奇怪,因为很多东西都没有编写(例如,如果一个方法有一个给定的属性) 是否有任何可视化语言可以帮助您以某种方式表达“反射”?我通过有效地思考UML和OOP中反射所代表的内容找到了解决方案 如果您严格地考虑OOP,那么您不应该考

当我们谈到使用反射的语言时,是否有UML的扩展/替代? 我的意思是,我试图在编写之前将我的项目表示为UML,但是我总是提出一个“这个方法将通过从文件中加载方法名的反射来调用”,这显然破坏了我的很多图表

说到C#,使用属性可以改变我开发东西的方式,所以我所有的UML图看起来都很奇怪,因为很多东西都没有编写(例如,如果一个方法有一个给定的属性)


是否有任何可视化语言可以帮助您以某种方式表达“反射”?

我通过有效地思考UML和OOP中反射所代表的内容找到了解决方案

如果您严格地考虑OOP,那么您不应该考虑由属性(字段)和方法组成的对象,相反,您必须将其想象为由其他对象组成的对象

这就是说,更容易想象像对象这样的方法和属性(因此我们将有UpdateMethod对象或LengthProperty对象)和yes,这样你就可以放置C属性,或者你可以给C委托赋予意义,而不是函数指针

这幅图应该解释仅用文字难以表达的概念:


显然,UML需要改进,因为一个广泛使用的特性(反射)必须以更好的方式得到支持,而不是像我使用的那个样(不太好)。

你们想展示什么样的行为结构?如果图表足够清晰且建模正确,您是否愿意使用UML?是的,我更喜欢使用UML,因为我知道它,但是我在显示c#属性(例如)时遇到问题:允许类在xml中序列化的XmlSerializable属性找不到在UML中显示它的正确方法。有可能吗?(即使有解决方法,如接口)。XmlSerializable-->为此使用关键字或原型有什么错?因为有些属性附加到方法/字段,请考虑[XmlField]例如