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

C# 创建一个泛型接口

于 2022-03-11 发布 文件大小:20.08 kB
0 219
下载积分: 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#使用SqlDataAdapter对象的Fill方法填充DataSet
    C#使用SqlDataAdapter对象的Fill方法填充DataSet,具体是调用DataSet的Copy方法复制DataSet中的内容,完成填充的功能:   private void Form1_Load(object sender, EventArgs e)   {    //实例化SqlConnection变量conn,连接数据库    conn = new SqlConnection("server=.;database=db_14;uid=sa;pwd=");    //创建一个SqlCommand对象    SqlCommand cmd = new SqlCommand("select * from tb_test", conn);    SqlDataAdapter sda = new SqlDataAdapter();//创建一个SqlDataAdapter对象    //设置SqlDataAdapter对象的SelectCommand属性,设置执行的SQL语句    sda.SelectCommand = cmd;    ds = new DataSet(); //实例化DataSet    sda.Fill(ds, "test");//使用SqlDataAdapter对象的Fill方法填充DataSet    dataGridView1.DataSource = ds.Tables[0];//设置dataGridView1的数据源   }   private void button1_Click(object sender, EventArgs e)   {    DataSet ds1 = ds.Copy();//调用DataSet的Copy方法复制ds中的内容    dataGridView2.DataSource = ds1.Tables[0];//将ds1作为dataGridView2的数据源   }
    2022-11-04 09:50:03下载
    积分:1
  • 通过C#的程序实现分离数据库功能
    C#分离数据库功能,这个功能相信对于熟悉SQLSERVER的程序开发者不陌生了,本示例演示C#编写程序,实现数据库分离功能。C#分离数据库将执行以下代码:   try   {    SqlCommand cmd = new SqlCommand();//创建数据库命令对象    con.Open();//打开数据库连接    cmd.Connection = con;//设置连接属性    cmd.CommandText =//设置要执行的SQL语句    "sp_detach_db @dbname= + this.comboBox1.Text+";    cmd.ExecuteNonQuery();//执行SQL语句    MessageBox.Show("分离成功");//弹出消息对话框   }   catch(Exception ey)   {    MessageBox.Show(ey.Message);//抛出异常信息,弹出消息对话框   }
    2022-04-06 22:36:25下载
    积分:1
  • C# treeView节点动态删除和添加示例
    C# treeView节点动态删除和添加示例,本源码演示了创建一个treeView父节点,创建了三个子节点,然后演示了将这3个子节点添加到父节点中,最后演示了使用Remove方法移除指定的TreeView节点项,添加节点和删除节点定义了两个按钮事件,用户通过单击按钮,激活事件,两个事件的编写方法如下:   private void Form1_Load(object sender, EventArgs e)   {    //建立一个父节点    TreeNode tn1 = treeView1.Nodes.Add("名称");    //建立3个子节点    TreeNode Ntn1 = new TreeNode("明日科技");    TreeNode Ntn2 = new TreeNode("C#编程词典");    TreeNode Ntn3 = new TreeNode("C#从基础到项目实战");    //将这3个子节点添加到父节点中    tn1.Nodes.Add(Ntn1);    tn1.Nodes.Add(Ntn2);    tn1.Nodes.Add(Ntn3);   }   private void button1_Click(object sender, EventArgs e)   {    //如果用户选择了“名称”证明没有选择要删除的子节点    if (treeView1.SelectedNode.Text == "名称")    {    MessageBox.Show("请选择要删除的子节点"); //弹出选择删除节点的提示    }    else    {    treeView1.Nodes.Remove(treeView1.SelectedNode);//使用Remove方法移除选择项    }   }
    2023-07-29 02:55:08下载
    积分:1
  • C# WPF实现图片浮雕、凹凸的图像效果
    Visual C# WPF实现图片浮雕、凹凸的图像效果,看上去很有雕刻的效果,这个功能对于熟悉PS的朋友,可能不陌生,用C#的WPF技术,可以轻松实现类似效果,只是说法不一样,在本例中,叫做“凹凸位图特效”,本代码在功能实现上,分为全部实现和局部实现,代码参考如下:   private void button1_Click(object sender, RoutedEventArgs e)   {//凹凸位图特效全部作用于图像    this.image1.BitmapEffectInput = null;    var MyEffect = new System.Windows.Media.Effects.EmbossBitmapEffect();    MyEffect.Relief = 0.8;    MyEffect.LightAngle =320;    this.image1.BitmapEffect = MyEffect;   }   private void button2_Click(object sender, RoutedEventArgs e)   {//凹凸位图特效部分作用于图像    var MyEffect = new System.Windows.Media.Effects.EmbossBitmapEffect();    MyEffect.Relief = 0.8;    MyEffect.LightAngle = 320;    this.image1.BitmapEffect = MyEffect;    var MyInput = new System.Windows.Media.Effects.BitmapEffectInput();    MyInput.AreaToApplyEffect = new Rect(.25, .25, .50, .50);    MyInput.AreaToApplyEffectUnits = System.Windows.Media.BrushMappingMode.RelativeToBoundingBox;    this.image1.BitmapEffectInput= MyInput;   }   完整
    2022-02-20 09:13:59下载
    积分:1
  • C#演示用Brush填充Rectangle图形
    C#画矩形,然后使用Brush填充Rectangle图形,单击按钮后会生成一个填充过的图形,需要创建Graphics对象,创建一个Brush对象,再使用Rectangle绘制一个矩形,然后使用Brush填充,实现这一过程,核心代码如下:   private void button1_Click(object sender, EventArgs e)   {    Graphics ghs = this.CreateGraphics();//创建Graphics对象    Brush mybs = new SolidBrush(Color.Red);//使用SolidBrush类创建一个Brush对象    Rectangle rt = new Rectangle(10, 10, 100, 100);//绘制一个矩形    ghs.FillRectangle(mybs, rt);//用Brush填充Rectangle   }
    2022-07-06 17:10:54下载
    积分:1
  • C#抓取(采集)糗事百科网站内容的源码
    C#模拟采集获取指定网站内容的源码,获取糗事百科的笑话内容,有点像搜索引擎的爬虫,可以顺着链接获取网站资源,源代码将根据糗事百科笑话页面索引获取笑话页的html源码,根据网页的url获取网页的html源码,可以获取糗事百科网站的获取笑话列表,自动匹配匿名用户,注,本源码只是一个C#获取网页内容的示例,并不能真正用于采集,那需要额外完成更多的代码编写。
    2022-04-17 12:56:51下载
    积分:1
  • C#打造自己的智能屏幕取色工具
    C#打造自己的智能屏幕取色工具,自动鼠标坐标点的颜色值,取色窗口会自动躲闪鼠标的位置,取色模块从一个继承自Image类的对象中创建Graphics对象,颜色值可以转换为十进制和十六进制,部分初始化源码如下:   [DllImport("gdi32")]   private static extern IntPtr CreateDC(   string lpszDriver, // 驱动名称   string lpszDevice, // 设备名称   string lpszOutput, // 无用,可以设定位"NULL"   IntPtr lpInitData // 任意的打印机数据   );   [DllImport("gdi32.dll")]   private static extern bool BitBlt(   IntPtr hdcDest, // 目标设备的句柄   int nXDest, // 目标对象的左上角的X坐标   int nYDest, // 目标对象的左上角的X坐标   int nWidth, // 目标对象的矩形的宽度   int nHeight, // 目标对象的矩形的长度   IntPtr hdcSrc, // 源设备的句柄   int nXSrc, // 源对象的左上角的X坐标   int nYSrc, // 源对象的左上角的X坐标   int dwRop // 光栅的操作值
    2022-02-26 10:33:42下载
    积分:1
  • C#开发的SQL数据库存储过程生成器附源码
    C#开发的SQL数据库存储过程生成器附源码,是由VS开发的一款代码生成器,名字叫做“SocanCode”,程序作者:廖勇军。主要是生成数据库的存储过程,打开窗口后,在左侧的窗格可新建存储过程,按照程序的导航一步步建立存储过程,最后生成存储过程代码。   SocanCode存储代码生成器,目前已经全部开源,除了生成存储过程代码外,这个程序还有一些其它的小工具,比如HTML转JavaScript、正则表达式生成等。
    2023-06-01 08:10:03下载
    积分:1
  • 网狐_台球_源码_亲测_特效碰撞棒棒滴_HGE框架
    网狐台球源码,亲测,支持6603,经典平台。 HGE框架,UI,碰撞效果特别好。 运营级代码。 走过路过千万不要错过。
    2022-11-23 09:40:03下载
    积分:1
  • 基于C#的右下角窗体弹出实例+源代码基于C#的右下角窗体弹出实例+源代码基于C#的右下角窗体弹出实例+源代码
    基于C#的右下角窗体弹出实例+源代码基于C#的右下角窗体弹出实例+源代码基于C#的右下角窗体弹出实例+源代码基于C#的右下角窗体弹出实例+源代码
    2022-02-12 22:25:41下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载