登录
首页 » C#源码 » C# 创建一个泛型接口

C# 创建一个泛型接口

于 2022-03-11 发布 文件大小:20.08 kB
0 216
下载积分: 2 下载次数: 1

代码说明:

C# 创建一个泛型接口的例子,创建一个泛型接口的代码和方法如下:   public interface IGenericInterface   {    T CreateInstance(); //接口中调用CreateInstance方法   }   //实现上面泛型接口的泛型类   //派生约束where T : TI(T要继承自TI)   //构造函数约束where T : new()(T可以实例化)   public class Factory : IGenericInterface where T : TI, new()   {    public TI CreateInstance()//创建一个公共方法CreateInstance    {    return new T();    }   }   class Program   {    static void Main(string[] args)    {    //实例化接口    IGenericInterface factory =   Factory();    //输出指定泛型的类型    Console.WriteLine(factory.CreateInstance().GetType().ToString());    Console.ReadLine();    }   }

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 一个简单的C# 多线程实例
    一个简单的C# 多线程实例,创建多线程的简单实例,创建线程一和线程二,两者单独完成指定侨任务,创建多线程主要是使用C#中内置的方法new Thread()来实现,然后让每个线程执行一个for循环,来测试线程运行的效果。创建线程和运行线程的代码,可参考如下代码:   Thread thread1 = new Thread(new ThreadStart( Count));   thread1.Name="线程一";   Thread thread2 = new Thread(new ThreadStart( Count));   thread2.Name="线程二";   thread1.Start();   thread2.Start();
    2022-08-18 15:51:20下载
    积分:1
  • C# 使用聚合函数查找数据库重复记录
    C#利用聚合函数显示数据库中重复记录的数量,这个例子可找出数据库中的重复内容,对优化数据库很有帮助。实现本功能可参考以下代码:   dgv_Message.DataSource = GetMessage();//设置数据源   dgv_Message.Columns[0].Width = this.Width;//设置列宽度   dgv_Message.DataSource = GetStudent();//设置数据源   dgv_Message.Columns[0].Width = 200;//设置列宽度   string P_Str_SqlStr = string.Format(//创建SQL查询字符串    @"SELECT 所在学院 ,COUNT(所在学院) AS 学生数量 FROM tb_Student GROUP BY 所在学院");   SqlDataAdapter P_SqlDataAdapter = new SqlDataAdapter(//创建数据适配器    P_Str_SqlStr, P_Str_ConnectionStr);   DataTable P_dt = new DataTable();//创建数据表   P_SqlDataAdapter.Fill(P_dt);//填充数据表   return P_dt;//返回数据表,更多代码请下载本实例 。
    2022-06-30 05:46:27下载
    积分:1
  • C++实现XY坐标源码
    框架为MFC,语言为C++,利用这两个实现了画XY坐标系的功能,功能测试公国,源码已上传!不足之处请大家多多指教!谢谢!!!! 好的功能想法,也可以留言 谢谢
    2023-05-13 07:30:07下载
    积分:1
  • C# UseHaving 在HAVING子句中使用子查询过滤平均值数据
    C# UseHaving 在HAVING子句中使用子查询过滤数据,查询学生表中学生年龄大于平均学生年龄的学生信息,查询代码的编写如下:string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串    @"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");   string P_Str_SqlStr = string.Format(//创建SQL查询字符串    @"SELECT 所在学院,学生姓名,年龄,(SELECT AVG(年龄) FROM tb_Student) AS 平均年龄 FROM tb_Student GROUP BY 所在学院,学生姓名,年龄 HAVING 年龄>(SELECT AVG(年龄) FROM tb_Student)");   SqlDataAdapter P_SqlDataAdapter = new SqlDataAdapter(//创建数据适配器    P_Str_SqlStr, P_Str_ConnectionStr);   DataTable P_dt = new DataTable();//创建数据表   P_SqlDataAdapter.Fill(P_dt);//填充数据表   return P_dt;//返回数据表   请在测试前,连接好数据库,本例只是分享代码,并没有找到数据库文件。
    2022-03-02 18:15:07下载
    积分:1
  • 使用WebBrowser控件制作IE浏览器
    Visual C# 使用WebBrowser控件制作IE浏览器,这个好像不高深了,以前有一阵子,大家喜欢用C#模仿一些小程序,这个IE浏览器就是,采用了C#中内置的WebBrowser控件来实现的IE浏览器,可以进行简单的网页浏览,还可以实现一些简单的辅助功能,比如转到、后退、前进、刷新、打印等功能。在编写时,源代码中给出了丰富的注释,有兴趣的下载完整的源码包查看。
    2022-03-20 19:27:27下载
    积分:1
  • C# 利用数据对象修改数据
    C# 利用数据对象修改数据,就是简单的修改数据库中的数据,利用数据对象来修改。运行效果如视图所示。本示例代码 中定义了向个C#操作数据库的方法,比如:从数据库中获取指定数据记录、在窗体中显示指定数据记录等。
    2023-05-31 11:00:03下载
    积分:1
  • C# 向SQL Server数据库中批量写入超多数据
    Visual C# 向SQL Server数据库中批量写入海量数据,这个虽然不是“大数据”,但这个海量数据也是很考验SQL的负载能力和代码的执行效率。那么C#如何实现效率高、速度快的数据写入呢,这个例子是来自C#开发实战1200例(第Ⅱ卷)中的代码改良,请下载源码后查看,里面有注释。
    2022-04-17 17:11:12下载
    积分:1
  • STM32f103C8T6 TIM3 PWM源码
    STM32f103C8T6 TIM3 PWM源码 四路PWM输出,亲测可用 编译软件:MDK4.53 硬件平台:STM32开发板(主芯片stm32f103c8t6) 仿真器:JLINK
    2022-07-11 02:31:25下载
    积分:1
  • 一个圆形的C# 时钟实例
    一个圆形的C# 时钟实例,圆形的中心调用外部的一张唐老鸭图片,各个指针在程序打开后自动初始化,获取windows时间并初始化各指针的位置,并随时间开始走动,在拖动窗口时,指针圆盘会自动变大,实际上这是一个Bug,因为随窗体变化会让哥特和指针脱离原来的位置,造成失真,在时间初始化方面,参见以下代码。   private void timer1_Tick(object sender, System.EventArgs e)   {    MySecondHand.Transform(DateTime.Now);    MyHourHand.Transform(DateTime.Now);    MyMinuteHand.Transform(DateTime.Now);    FirstTick = true;    Invalidate();   }   更多源代码,请下载本实例,运行效果请参见运行截图。
    2022-03-03 15:59:32下载
    积分:1
  • Visual C# WPF 实现文字左右流动(滚动)效果
    Visual C# WPF技术实现文字内容从左向右流动、从右向左流动,其实就是文字滚动,稍加了一些特殊处理,下面来看看代码真的好简单:   private void button1_Click(object sender, RoutedEventArgs e)   {//内容从左向右流动    this.MyFlowDocument.FlowDirection = FlowDirection.LeftToRight;   }   private void button2_Click(object sender, RoutedEventArgs e)   {//内容从右向左流动    this.MyFlowDocument.FlowDirection = FlowDirection.RightToLeft;   }
    2022-02-04 14:45:10下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载