泛型方法中实例化一个有参数的泛型实例
2013-09-02 16:42
281 查看
public static T GetInstance(DataRow dr) { var ctors = typeof(T).GetConstructors( BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public); if (ctors.Count() != 1) throw new InvalidOperationException(String.Format("Type {0} must have exactly one constructor.", typeof(T))); var ctor = ctors.SingleOrDefault(c => c.IsPrivate); if (ctor == null) throw new InvalidOperationException(String.Format("The constructor for {0} must be private.", typeof(T))); return (T)ctor.Invoke(new object[] { dr }); } public static T GetInstance(DataRow dr) { var ctors = typeof(T).GetConstructors( BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public); if (ctors.Count() != 1) throw new InvalidOperationException(String.Format("Type {0} must have exactly one constructor.", typeof(T))); var ctor = ctors.SingleOrDefault(c => c.IsPrivate); if (ctor == null) throw new InvalidOperationException(String.Format("The constructor for {0} must be private.", typeof(T))); return (T)ctor.Invoke(new object[] { dr }); }
相关文章推荐
- 4.构造方法与重载:定义一个网络用户类,要处理的信息有用户 ID、用户密码、 email 地址。在建立类的实例时把以上三个信息都作为构造函数的参数输入, 其中用户 ID 和用户密码时必须缺省时 ema
- 3. 定义一个分数类(Fraction) 实例变量:分子,分母 方法:初始化方法(2个参数),便利构造器,约分,打印,加,减,乘,除。
- 尽可能使用泛型方法,除非需要将类型参数用于实例的字段
- More Effective C# Item8 :尽可能使用泛型方法,除非需要将类型参数用于实例的字段中
- JS调用OC简单实例-传递一个或者多个参数给oc方法
- DataTable数据转换为List和泛型对构造函数带参数的类创建实例的方法
- 一直想得到这样一个函数,创建类的一个实例,该类由指定的泛型参数指定
- java获取泛型参数的类型的方法 - 实例讲解
- 为参数类型一样返回类型不同的接口写一个泛型方法
- 定义平面中的一个Circle类, 1编写一个无参数构造函数, 2编写一个有参的构造函数 3在主函数中调用无参构造函数生成圆的实例c1,调用有参构造函数生成圆的实例c2,调用实例方法判断c1和c2是否重
- 当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的.
- Java获取泛型参数的类型的方法 - 实例讲解
- 通过另类的泛型约束将两个输入输出参数不同的方法合并成一个方法的实现
- 用静态数组实现一个泛型的堆栈,数组的长度当堆栈实例化时作为参数给出
- 泛型(定义一个类,实例化,查找,排序(用的是委托方法,findall))
- Python3基础 重写__init__方法 在类的实例化的时候传入参数
- 一个实例中,多个synchronized方法的调用
- 让程序只运行一个实例的四种方法
- 解析请求参数调用Action中的方法的struts1.x完整实例