一直想得到这样一个函数,创建类的一个实例,该类由指定的泛型参数指定
来源:互联网 发布:网络投资与理财排行榜 编辑:程序博客网 时间:2024/06/05 02:57
创建类型的一个实例,该类型由指定的泛型类型参数指定。也就是创建一个泛型参数所属类型的对象。
C#
public static T CreateInstance<T>()
类型参数
T
要创建的类型。
返回值
类型:T
对新创建对象的引用。
通常情况下,在应用程序代码中无需使用 CreateInstance,因为在编译时类型必须是已知的。如果编译时类型已知,则可以使用正常的实例化语法(在 C# 中为 new 运算符)。
不存在带参数列表的 CreateInstance 泛型方法的重载,因为 CreateInstance 的非泛型重载已经提供了后期绑定构造函数决策。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //方法一、获得学生对象 new Student() new Student().Say("张三"); //方法二、获得学生对象 Student.GetInstance Student.GetInstance.Say("李四"); } } class Student { public string stuName = string.Empty; public static Student GetInstance { get { return SingleItem<Student>.GetInstance(); } } public void Say(String strName) { Console.WriteLine("我的名字是:" + strName); } } static class SingleItem<T> { /// <summary> /// 获得T的对象 /// </summary> /// <returns></returns> public static T GetInstance() { return TryGetInstance(null); } /// <summary> /// 获得T的对象 /// </summary> /// <param name="onCreateInstance"></param> /// <returns></returns> private static T TryGetInstance(Func<T> onCreateInstance) { try { if (onCreateInstance == null) return Activator.CreateInstance<T>(); else return onCreateInstance(); } catch { return default(T); } } } }
阅读全文
0 0
- 一直想得到这样一个函数,创建类的一个实例,该类由指定的泛型参数指定
- 当一个类的构造函数被定义为private时如何创建该类的实例
- 设计一个类,我们只能生成该类的一个实例。
- 设计一个类,我们只能生成该类的一个实例
- 设计一个类,我们只能生成该类的一个实例。
- 设计一个类只能生成该类的一个实例
- 设计一个类,只能生成该类的一个实例
- 创建一个类并创建属于该类的对象
- 创建一个指定大小格式的文件
- 想得到一个女人的爱就去伤害她
- HYPERLINK函数的参数指定
- (分享面试题)封装一个函数,获取指定参数的值
- 第七十二题(设计一个类,我们只能生成该类的一个实例)
- 72 题目:设计一个类,我们只能生成该类的一个实例
- 面试题2 设计一个类,我们只能生成该类的一个实例
- 题目2:Singelton单例模式:设计一个类,只能生成该类的一个实例。
- 创建一个存储函数,返回指定员工的姓名,薪水和年收入
- 随机生成一个根据参数指定的随机数
- 无外接屏幕使用树莓派
- relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recom
- kotlin---基本类型
- es6+webpack+vue项目实践
- 【MySQL】-- 安装笔记 MySQL 5.7(zip archive版本)
- 一直想得到这样一个函数,创建类的一个实例,该类由指定的泛型参数指定
- 图片1
- 6月水题集锦
- ES6(九)Symbol
- 模拟试——string
- XML教程进阶04_服务器上的XML
- 在NativeScript-angular应用中使用本地设备剪切板
- 基于webpack和vue.js搭建的H5端框架
- Unable to connect to the MKS: Login (username / password) incorrect