我目前正在尝试解析一些随机 dll 的公共成员,我被困在使用反射获取构造函数的基本部分
@NotEmpty
从 Type 中我知道如何获取构造函数和参数,而不是调用父类构造函数 ': base(0.0f, 0.0f, 0.0f, 0.0f, color1, color2)'
public class MyClass: MySuperClass
{
public MyClass(Color color1, Color color2)
: base(0.0f, 0.0f, 0.0f, 0.0f, color1, color2)
{
//...
}
}
你知道有没有办法获取父构造函数调用中使用的参数/值列表?
答案 0 :(得分:0)
您可以进入 MyClass
并查看父类的构造函数,而不是进入 BaseType
的类型:
Type mySuperClassType = typeof(MyClass).BaseType;
foreach (ConstructorInfo MyConstructor in mySuperClassType.GetConstructors())
{
var MyParameters = MyConstructor.GetParameters();
Console.WriteLine(MyConstructor.ToString());
// prints Void .ctor(Single, Single, Single, Single, System.Drawing.Color, System.Drawing.Color)
}
这里的工作示例:https://dotnetfiddle.net/S7CFT0