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

C# 创建一个泛型接口

于 2022-03-11 发布 文件大小:20.08 kB
0 93
下载积分: 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的知识点每一个都有覆盖,可以作为刚入门的学习者用的,本人试过,觉得非常好,所以传上来大家共享。
    2023-07-04 13:50:03下载
    积分:1
  • C# WPF 制作一个悬停变化的按钮
    C# WPF 技术制作的动态按钮,一个将鼠标放置在按钮上产生样式动画效果的响应式按钮,源代码基于VS2010,当鼠标悬停于按钮时,按钮的背景色具备渐变动画效果,十分醒目,很好的用户的操作形成交互效果,借此源码你可了解一些WPF编程的基础技巧。
    2022-01-25 19:17:32下载
    积分:1
  • Visual C# 在无连接数据表中创建AutoIncrement列
    C# 在无连接数据表中创建AutoIncrement列,在数据表中添加记录一.代码:   //在数据表中添加记录一   DataRow MyRow = MyTable.NewRow();   MyRow["ID"] = 87121;   MyRow["Name"] = "罗斌";   MyRow["Tel"] = "023-40231026";   MyRow["MP"] = "13036371686";   MyRow["Company"] = "无锡宝特软件有限公司";   MyTable.Rows.Add(MyRow);   this.dataGridView1.DataSource = MyTable;
    2022-05-16 06:23:51下载
    积分:1
  • C# 使用 tabControl创建窗体TAB效果
    C# 使用 tabControl创建窗体TAB选项卡效果,大家都熟悉的功能,这个例子比较基础,面向C#的初学者,下面是实现本功能的核心代码:   private void Form1_Load(object sender, EventArgs e)   {    tabControl1.ImageList = imageList1;    tabPage1.ImageIndex = 0;    tabPage1.Text = "选项卡1";    tabPage2.ImageIndex = 0;    tabPage2.Text = "选项卡2";   }   本TAB运行效果请参见截图,完整源码请下载。
    2022-08-22 06:09:52下载
    积分:1
  • C#在listView自定义imageList图标列表
    C#在listView自定义imageList图标列表,实际上是创建了一个图像列表的Listview列表,我们可以将一些菜单条目做成此类型,以图标的风格展现操作选项,本实例中你可以熟悉imageList、listView1列表项的添加与删除。   下面是关键的代码:   listView1.LargeImageList = imageList1;   imageList1.ImageSize = new Size(37,36);   imageList1.Images.Add(Image.FromFile("01.png"));调用图标显示的图像资源   imageList1.Images.Add(Image.FromFile("02.png"));   listView1.SmallImageList = imageList1;   listView1.Items.Add("明日科技");图标下边显示的文字   listView1.Items.Add("C#编程词典");   listView1.Items[0].ImageIndex = 0;   listView1.Items[1].ImageIndex = 1;
    2023-03-09 08:05:03下载
    积分:1
  • C#播放wmv视频并填充到文字轮廓中
    C#播放wmv视频并填充到文字轮廓中,这个应该是一个艺术字效果吧,本程序实现了两个功能:一、视频文件播放功能(wmv),二、将视频影像填充到文字轮廓中显示,这个就有意思了,最终实现了比较动感的艺术字动画效果,在视频播放方面,主要使用MediaElement();实现,文字填充方面,基于TextBlock.Foreground实现,下面是具体一些的代码:   使用视频剪辑填充文字的线条   MediaElement MyMediaElement = new MediaElement();   MyMediaElement.Source = new Uri("Bear.wmv", UriKind.Relative);   MyMediaElement.IsMuted = true;   VisualBrush MyVisualBrush = new VisualBrush();   MyVisualBrush.Visual = MyMediaElement;   TextBlock MyTextBlock = new TextBlock();   MyTextBlock.FontFamily = new FontFamily("宋体");   MyTextBlock.FontSize = 180;   MyTextBlock.Text = "编程";   MyTextBlock.FontWeight = FontWeights.Bold;   MyTextBlock.Foreground = MyVisualBrush;   this.Content = MyTextBlock;   运行截图如下,不过本站截图是静态的,看不到本示例的动画效果,请下载源码在VS中编译运行,查看效果。
    2022-01-26 01:31:34下载
    积分:1
  • Visual C# 计算器实例程序
    Visual C# 又一个适合学习的计算器实例程序,比较简单,只是实现基础的数学运算,没有高级功能,在此就不多介绍了,计算程序您可以在此搜索一下,C#类的计算器制作实例有很多哦。
    2022-11-13 08:30:04下载
    积分:1
  • C#在图片格式转换时设置JPEG压缩级别的实现
    C#在转换图像格式时设置JPEG压缩级别,运行程序在窗口上单击按钮后,会生成多个版本不同压缩级别的图片,图片大小字节都不一样,如下代码是实现本功能的核心代码:   Bitmap MyBitmap = new Bitmap(@"J001.jpg");   ImageCodecInfo MyDecoder = null;   ImageCodecInfo[] MyDecoders = ImageCodecInfo.GetImageDecoders();   foreach (ImageCodecInfo MyFormat in MyDecoders)   {    if (MyFormat.FormatID == ImageFormat.Jpeg.Guid)    {    MyDecoder = MyFormat;    }   }   System.Drawing.Imaging.Encoder MyEncoder =    System.Drawing.Imaging.Encoder.Quality;   EncoderParameters MyEncoderParameters = new EncoderParameters(1);   //以50中级压缩图像   EncoderParameter MyEncoderParameter = new EncoderParameter(MyEncoder, 50L);   MyEncoderParameters.Param[0] = MyEncoderParameter;   MyBitmap.Save("J50L.jpg", MyDecoder, MyEncoderParameters);   //以100高级压缩图像   MyEncoderParameter = new EncoderParameter(MyEncoder, 100L);   MyEncoderParameters.Param[0] = MyEncoderParameter;   MyBitmap.Save("J99L.jpg", MyDecoder, MyEncoderParameters);   //以0低级压缩图像   MyEncoderParameter = new Enc
    2022-05-18 00:19:47下载
    积分:1
  • C# 验证图像生成类
    C# 验证码图像生成类,这个图像验证码生成类中可根据RGB,计算验证码图片的灰度值,去图形边框,灰度转换,逐行方式,得到有效图形并调整为可平均分割的大小,得到有效图形,图形为类变量,得到有效图形,图形由外面传入,返回灰度图片的点阵描述字串,1表示灰点,0表示背景,小平和垂直方向上的平均分割图片等。本验证码图片可用到WEB中,也可用到WinForm程序中。
    2022-03-09 22:25:52下载
    积分:1
  • C# 在程序中使用指针、十字光标、浮动窗口等不安全代
    C# 在程序中使用指针、十字光标、浮动窗口等不安全代码的实例,单击以下按钮会演示出对应功能:   在程序中显示一个浮动帮助窗口   显示等待光标   显示十字光标   对于功能实现,逐一分享源代码如下:在程序中使用指针等不安全代码:   var MyFileName = "C:atlog.txt";   var MyReader = new MyReaderClass(MyFileName);   const int MyBuffSize = 128;   byte[] MyBuffer = new byte[MyBuffSize];   ASCIIEncoding MyEncoder = new ASCIIEncoding();   var MyInfo = MyFileName + "的内容如下:";   while (MyReader.Read(MyBuffer, 0, MyBuffSize) != 0)    MyInfo += " " + MyEncoder.GetString(MyBuffer);   MessageBox.Show(MyInfo, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);   private void button2_Click(object sender, EventArgs e)   {//在程序中显示一个浮动帮助窗口    Help.ShowPopup(this, "提高程序开发效率、拓展软件应用领域", new Point(300, 350));   }   private void button3_Click(object sender, EventArgs e)   {//显示等待光标    this.Cursor = Cursors.WaitCursor;   }   private void button4_Click(object sender, EventArgs e)   {//显示十字光标    this.Cursor = Cursors.Cross;   }
    2023-05-20 08:40:02下载
    积分:1
  • 696518资源总数
  • 105877会员总数
  • 14今日下载