【问题标题】:C# Reflection: Is it possible to view the code of a constructor gained using reflection? [duplicate]C#反射:是否可以查看使用反射获得的构造函数的代码? [复制]
【发布时间】:2012-07-09 17:26:45
【问题描述】:

可能重复:
c# Can I use reflection to inspect the code in a method?

所以我在思考问题,有些东西打动了我。是否可以查看使用 GetConstructor() 方法获得的构造函数的代码,而无需导航到文件并在 Visual Studio 中查看它。例如,是否有可能获取 ConstructorInfo 对象,然后将与该构造函数关联的代码打印到控制台窗口?可能看起来是一个愚蠢的问题,但我以前从来没有真正需要过反思,所以我对它很陌生,不确定它有多少能力。

另外作为一个旁注,是什么决定了哪个构造函数将被用作默认值?是不是参数最少的那个?

【问题讨论】:

    标签: c# reflection


    【解决方案1】:

    基本上,代码仅以 MSIL 指令的形式提供。请参阅Can I use reflection to inspect the code in a method? 了解更多信息。

    【讨论】:

    • 谢谢。你也有旁注的答案吗?例如,如果我没有用零参数声明构造函数,我怎么知道哪个构造函数在技术上是默认的?
    • 与方法重载的机制相同。考虑一个类,其中一个构造函数将整数作为单个参数,另一个将对象作为参数。如果您创建一个对象 new MyClass(123) 则将使用整数构造函数,因为传递的参数是整数类型,因此整数构造函数最适合。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-23
    • 1970-01-01
    • 2011-10-23
    相关资源
    最近更新 更多