-
C# 创建一个泛型接口
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();
}
}
- 2022-03-11 00:59:39下载
- 积分:1
-
传世源码
传世源码传世源码传世源码传世源码传世源码传世源码传世源码
- 2022-03-03 05:08:19下载
- 积分:1
-
C# WPF把彩色图片转换为灰度图
C# 把彩色图片转换为灰度图,这是一个基于WPF的C#图像处理程序,图像彩色转换黑白,支持的图像文件格式为:JPeg,Gif,Bmp,etc。
程序主要实现两个功能,一是将彩色转换为索引像素格式、二是将彩色转换为黑白像素格式,对应于窗口中的按钮,可查看对应功能的演示:
将彩色转换为黑白像素格式,核心代码如下:
TransformedBitmap MyRotatedBitmapSource = new TransformedBitmap();
MyRotatedBitmapSource.BeginInit();
MyRotatedBitmapSource.Source = (System.Windows.Media.Imaging.BitmapSource)this.image1.Source;
MyRotatedBitmapSource.Transform = new RotateTransform(270);
MyRotatedBitmapSource.EndInit();
FormatConvertedBitmap MyFormatedBitmap = new FormatConvertedBitmap();
MyFormatedBitmap.BeginInit();
MyFormatedBitmap.Source = MyRotatedBitmapSource;
MyFormatedBitmap.DestinationFormat = PixelFormats.BlackWhite;
MyFormatedBitmap.EndInit();
this.image1.Source = MyFormatedBitmap;
完整源码例子请在本页下载,运行效果截图如下图示。
- 2022-02-01 21:42:57下载
- 积分:1
-
C#监测服务运行源码
C#监测服务运行源码,监测服务的运行,且服务重启时会给相应用户发邮件
- 2022-01-26 04:33:30下载
- 积分:1
-
支付宝免签收款源码
支付宝免签收款源码,不用购买接口,免费试用
- 2022-01-24 10:18:05下载
- 积分:1
-
C#生成连续和任意重复的字符串实例
C#调用自定义方法生成字符串实例,生成的这些字符串有两种类型,一种是生成包括N个连续字符的字符串,另一个是生成指定重复字符的字符串,在平时的应用中,有很多卡号和序列号需要生成类似的号码,有兴趣的可参考。
static void Main(string[] args)
{
Program p = new Program();//创建Program对象
p.CreateSString();//调用自定义方法
p.CreateTString();//调用自定义方法
Console.Read();
}
private void CreateSString()
{
//生成包含6个连续字符的字符串
string str = new string(Enumerable.Range(0, 6).Select(i => (char)(i + 65)).ToArray());
Console.WriteLine("包含6个连续字符的字符串:" + str);
}
private void CreateTString()
{
//生成包含3个重复字符串的字符串
string str = string.Join(string.Empty, Enumerable.Repeat("MR", 3).ToArray());
Console.WriteLine("包含3个重复字符串的字符串:" + str);
}
- 2022-07-11 13:58:31下载
- 积分:1
-
C# 创建有参、无参数等多线程操作实例
C# 多线程操作实例,获取指定进程的进程详细信息、获取指定进程的模块详细信息、创建无参数的多线程应用程序、创建带参数的多线程应用程序、创建共享线程模拟资源共享、创建子线程更新主线程数据等,部分代码分享如下:
if (MyThread.ThreadState == ThreadState.Terminated)
MyData += "
当前状态:已完成执行并已退出";
if (MyThread.ThreadState == ThreadState.Transition)
MyData += "
当前状态:在可以执行前等待处理器之外的资源";
if (MyThread.ThreadState == ThreadState.Unknown)
MyData += "
当前状态:状态未知";
if (MyThread.ThreadState == ThreadState.Wait)
MyData += "
当前状态:正在等待外围操作完成或等待资源释放";
if (MyThread.WaitReason == ThreadWaitReason.EventPairHigh)
MyData += "
等待原因:线程正在等待事件对高";
if (MyThread.WaitReason == ThreadWaitReason.EventPairLow)
MyData += "
等待原因:线程正在等待事件对低";
if (MyThread.WaitReason == ThreadWaitReason.ExecutionDelay)
MyData += "
等待原因:线程执行延迟";
if (MyThread.WaitReason == ThreadWaitReason.Executive)
MyData += "
等待原因:线程正在等待计划程序";
if (MyThread.WaitReason == ThreadWaitReason.FreePage)
MyData += "
等待原因:线程正在等待可用的虚拟内存页";
if (MyThread.WaitReason == ThreadWaitReason.LpcReceive)
- 2022-04-18 07:37:09下载
- 积分:1
-
C#实现的俄罗斯方块程序(源码)
C#实现的俄罗斯方块程序(源码).C#实现的俄罗斯方块程序(源码)C#实现的俄罗斯方块程序(源码)C#实现的俄罗斯方块程序(源码)C#实现的俄罗斯方块程序(源码)C#实现的俄罗斯方块程序(源码)C#实现的俄罗斯方块程序(源码)C#实现的俄罗斯方块程序(源码)C#实现的俄罗斯方块程序(源码)C#实现的俄罗斯方块程序(源码)C#实现的俄罗斯方块程序(源码)C#实现的俄罗斯方块程序(源码)C#实现的俄罗斯方块程序(源码)C#实现的俄罗斯方块程序(源码)
- 2023-05-20 13:10:03下载
- 积分:1
-
C# 操作泛型绑定列表BindingList
C#创建泛型绑定列表,操作泛型绑定列表BindingList,在本代码中将完成为泛型绑定列表添加元素,然后过滤、排序泛型绑定列表,最后显示显示查询结果。主要应用于比较大型的数据运算,此前有关泛型数据的各类操作,www.srcfans.com已经收集了不少,请通过分类标签或搜索源代码查看。
- 2022-07-08 21:34:33下载
- 积分:1
-
C# 递增运算/递减运算
C# 简单模拟递增运算、递减运算:
private void repeatButton1_Click(object sender, RoutedEventArgs e)
{//递增运算
Int32 MyNum = Convert.ToInt32(this.textBox1.Text);
this.label1.Content = "正在进行递增运算:";
this.textBox1.Text = ((MyNum + 1).ToString());
}
private void repeatButton2_Click(object sender, RoutedEventArgs e)
{//递减运算
Int32 MyNum = Convert.ToInt32(this.textBox1.Text);
this.label1.Content = "正在进行递减运算:";
this.textBox1.Text = ((MyNum - 1).ToString());
}
- 2022-02-26 15:45:23下载
- 积分:1