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

C# 创建一个泛型接口

于 2022-03-11 发布 文件大小:20.08 kB
0 87
下载积分: 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#从数据库中读取出数据,然后交给饼形图生成模块,加载数据生成饼形图表。   //清空背景色   g.Clear(Color.White);   Pen pen1 = new Pen(Color.Red);   Brush brush1 = new SolidBrush(Color.PowderBlue);   Brush brush2 = new SolidBrush(Color.Blue);   Brush brush3 = new SolidBrush(Color.Wheat);   Brush brush4 = new SolidBrush(Color.Orange);   Font font1 = new Font("Courier New", 16, FontStyle.Bold);   Font font2 = new Font("Courier New", 8);   g.FillRectangle(brush1, 0, 0, width, height); //绘制背景图   g.DrawString("公司员工年龄比例饼形图", font1, brush2, new Point(80, 20)); //书写标题   int piex = 100, piey = 60, piew = 200, pieh = 200;   //20-25岁员工在圆中分配的角度   float angle1 = Convert.ToSingle((360 / Convert.ToSingle(Sum)) * Convert.ToSingle(man20to25));   //26-30岁员工在圆中分配的角度   float angle2 = Convert.ToSingle((360 / Convert.ToSingle(Sum)) * Convert.ToSingle(man26to30));   //31-40岁员工在圆中分配的角度   float angle3 = Convert.ToSingle((360 / Convert.ToSingle(Sum)) * Convert.ToSingle(man31to40));   g.FillPie(brush2
    2022-04-12 00:35:45下载
    积分:1
  • C# 模拟实现SSH命令
    C# 模拟实现SSH命令,模拟实现LINUX相关操作,代码中包括了英文注释,代码比较完整,压缩包中还包括了例子和Bin可执行文件,演示效果如截图所示。我看到模拟程序中使用了以下的类库:DiffieHellman.dll、Org.Mentalis.Security.dll、Tamir.SharpSSH.dll。
    2022-01-26 08:34:51下载
    积分:1
  • C# 自绘式按钮的实例
    C# 自绘式按钮的实例源码,本例主要是以复合控件方式创建自绘式按钮,并测试了自绘式按钮响应鼠标单击事件。自绘按钮的绘制,可以参考以下代码:   //绘制新按钮   Graphics MyGraphics = e.Graphics;   Point[] MyPtsA = { new Point(0, 0), new Point(90, 0), new Point(170, 0), new Point(170, 50), new Point(170, 90), new Point(90, 90), new Point(0, 90), new Point(0, 50) };   Color[] MyColsA = { Color.White, Color.Black, Color.White, Color.Black, Color.White, Color.Black, Color.White, Color.Black };   PathGradientBrush MyPGBrushA = new PathGradientBrush(MyPtsA);   MyPGBrushA.SurroundColors = MyColsA;   MyGraphics.FillRectangle(MyPGBrushA, 0, 0, 170, 90);   String MyText = "自绘式按钮";   Font MyFont = new Font("隶书", 22);   SolidBrush MyBrush = new SolidBrush(Color.White);   PointF MyPoint = new PointF(3.0F, 30.0F);   MyGraphics.DrawString(MyText, MyFont, MyBrush, MyPoint);
    2022-06-30 07:08:12下载
    积分: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
  • C#编写winForm版的数据库创建数据表程序
    C#编写winForm版的数据库创建数据表程序,通过查询语句来创建数据表,用户可在窗口内输入需要创建的数据表名称,点击操作按钮,转入程序执行阶段,将使用SQL语句来生成数据表,窗口运行效果如图所示。
    2022-03-11 17:55:01下载
    积分:1
  • C# 为WPF应用程序设置渐变的背景颜色的实例
    C# 为WPF应用程序设置渐变的背景颜色的源码实例,窗口打开后,单击按钮,即可把窗口的背景色设置成渐变色,来看如下代码:private void button1_Click(object sender, RoutedEventArgs e)   {//为WPF应用程序设置渐变的背景颜色(文件名称:Window1.xaml.cs)    this.Background = (Brush)TryFindResource("MyGradientBackground");   }
    2023-05-10 22:40:03下载
    积分:1
  • C# wpf 创建简单形状动画的例子
    C# wpf 创建简单形状动画的例子,启动动画、停止动画、暂停动画、继续动画、加速动画。创建动画   Rectangle MyRectangle = new Rectangle();   MyRectangle.Width = 50;   MyRectangle.Height = 20;   MyRectangle.Margin = new Thickness(10, 50, 0, 0);   MyRectangle.Fill = new LinearGradientBrush(    Color.FromArgb(255, 0, 255, 255), Color.FromArgb(255, 0, 0, 255), 0);   MyRectangle.HorizontalAlignment = HorizontalAlignment.Left;   this.canvas1.Children.Add(MyRectangle);   this.RegisterName("MyRectangle", MyRectangle);   DoubleAnimation MyAnimation =    new DoubleAnimation(100, 380, new Duration(TimeSpan.FromSeconds(5)));   Storyboard.SetTargetName(MyAnimation, "MyRectangle");   Storyboard.SetTargetProperty(MyAnimation,    new PropertyPath(Rectangle.WidthProperty));   MyStoryboard = new Storyboard();   MyStoryboard.Children.Add(MyAnimation);   动画效果请参见下图所示,源代码请单击下载按钮下载。
    2022-08-25 13:04:57下载
    积分:1
  • C# 在密钥容器中创建非对称密钥
    在密钥容器中创建非对称密钥、在密钥容器中删除非对称密钥、在密钥容器中获取非对称密钥,具体的实现代码,请参考如下代码:   private void button1_Click(object sender, EventArgs e)   {//在密钥容器中创建非对称密钥    CspParameters MyCSP = new CspParameters();    MyCSP.KeyContainerName = this.textBox2.Text;    RSACryptoServiceProvider MyRSA = new RSACryptoServiceProvider(MyCSP);    this.textBox1.Text=MyRSA.ToXmlString(true);   }   private void button2_Click(object sender, EventArgs e)   {//在密钥容器中删除非对称密钥    CspParameters MyCSP = new CspParameters();    MyCSP.KeyContainerName = this.textBox2.Text;    RSACryptoServiceProvider MyRSA = new RSACryptoServiceProvider(MyCSP);    MyRSA.PersistKeyInCsp = false;    MyRSA.Clear();    try    {    this.textBox1.Text = MyRSA.ToXmlString(true);    }    catch    {    this.textBox1.Text = "已经删除非对称密钥!";    }   }   private void button3_Click(object sender, EventArgs e)   {//在密钥容器中获取非对称密钥    CspParameters MyCSP = new CspParameters();    MyCSP.KeyContainerName = this.textB
    2022-02-06 13:18:17下载
    积分:1
  • C# 使用断开式连接批量更新数据库中数据
    C# 使用断开式连接批量更新数据库中数据,你可以在在DataGridView控件中更新数据后,点击提交更改按钮更新数据。   P_cmd.Parameters.Add("@id", SqlDbType.Int,10,"id");//设置参数   P_cmd.Parameters.Add("@name", SqlDbType.VarChar, 10, "学生姓名");//设置参数   P_cmd.Parameters.Add("@age", SqlDbType.Int, 10, "学生年龄");//设置参数   P_cmd.Parameters.Add("@sex", SqlDbType.NChar, 2, "性别");//设置参数   P_cmd.Parameters.Add("address", SqlDbType.VarChar, 50, "家庭住址");//设置参数   P_SqlDataAdapter.UpdateCommand = P_cmd;//设置UpdateCommand属性   P_SqlDataAdapter.Update(G_st.Tables[0]);//更新数据库中数据   G_st.AcceptChanges();//提交修改   MessageBox.Show("更改成功!","提示!");//弹出消息对话框   GetMessage();//填充表   dgv_Message.DataSource = G_st.Tables[0];//设置数据源   dgv_Message.Columns[0].Visible = false;//隐藏主键列
    2022-07-24 10:02:56下载
    积分:1
  • C# 读取SQL Server数据库结构,包括表结构
    Visual C# 2012读取SQL Server数据库结构,在SQL2000中可以顺利通过测试,获取到所有的数据库和指定库的数据表,本程序主要针对用户表进行操作,在进行操作时要求用户名为sa密码为空。
    2022-03-15 16:11:23下载
    积分:1
  • 696518资源总数
  • 105678会员总数
  • 22今日下载