c# 常用反射和表达式树整理
2021-01-18 06:14
标签:表示 iss size arguments ada oid pre inf == 很久没有写反射了,来整理一下呗. 创建 Type 有泛型的 创建实例 有参数的 有可选参数的 几个点留意一下 一定要有 BindingFlags.OptionalParamBinding, 也有人放完. Type.Missing 表示没有传 value CultureInfo.CurrentCulture 不清楚用来干嘛. 获取方法 遇到有同名方法,一般上是通过过滤来找到的, 比如看 parameters 类型, 名字,数量, 或者是 generic 的名字,类型,数量 甚至看返回值也是可以的. sometime 我们需要先 makeGenegic 然后才查看 parameters 类型也是有的。 c# 常用反射和表达式树整理 标签:表示 iss size arguments ada oid pre inf == 原文地址:https://www.cnblogs.com/keatkeat/p/12181646.htmlpublic class Abc {}
var type = typeof(Abc); // class to type
var type2 = new Abc().GetType(); // instance to type
public class Abc
public class Abc{
public string name { get; set; }
}
var abc = Activator.CreateInstance(typeof(Abc)) as Abc;
public class Abc
{
public Abc(string name) { }
}
var abc = Activator.CreateInstance(typeof(Abc), new object[] { "name" }) as Abc;
public class Abc
{
public Abc(string name = "dada") { }
}
var abc = Activator.CreateInstance(typeof(Abc), BindingFlags.OptionalParamBinding, null, new object[] { Type.Missing }, CultureInfo.CurrentCulture) as Abc;
BindingFlags.CreateInstance |
BindingFlags.Public |
BindingFlags.
Instance
public class Abc
{
public void method1