-
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
-
C# OpenRead获取网站源代码,并保存到TXT文件Stream流中
C#获取网页源代码,并将其保存为TXT文件,这里应用了OpenRead和Stream流方法,具体的实现,请参见以下代码:
richTextBox1.Text = string.Empty;
WebClient wclient = new WebClient();//实例化WebClient类对象
wclient.BaseAddress = textBox1.Text;//设置WebClient的基URI
wclient.Encoding = Encoding.UTF8;//指定下载字符串的编码方式
//为WebClient类对象添加标头
wclient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
//使用OpenRead方法获取指定网站的数据,并保存到Stream流中
Stream stream = wclient.OpenRead(textBox1.Text);
//使用流Stream声明一个流读取变量sreader
StreamReader sreader = new StreamReader(stream);
string str = string.Empty;//声明一个变量,用来保存一行从WebCliecnt下载的数据
//循环读取从指定网站获得的数据
while ((str = sreader.ReadLine()) != null)
{
richTextBox1.Text += str + "
";
}
//调用WebClient对象的DownloadFile方法将指定网站的内容保存到文件中
wclient.DownloadFile(textBox1.Text, DateTime.Now.ToFileTime() + ".txt");
MessageBox.Show("保存到文件成功");
- 2022-02-02 08:55:49下载
- 积分:1
-
C# wpf方法的最大化和最小化窗口
Viaual C# 使用wpf方法实现最大化和最小化窗口,和默认的方式似乎有些不同.有兴趣的可参考以下代码:
private void button1_Click(object sender, RoutedEventArgs e)
{//最大化显示窗口
this.WindowState = System.Windows.WindowState.Maximized;
}
private void button2_Click(object sender, RoutedEventArgs e)
{//最小化显示窗口
this.WindowState = System.Windows.WindowState.Minimized;
}
private void button3_Click(object sender, RoutedEventArgs e)
{//还原窗口
this.WindowState = System.Windows.WindowState.Normal;
}
private void button4_Click(object sender, RoutedEventArgs e)
{//关闭窗口
this.Close();
}
- 2022-01-25 15:01:45下载
- 积分:1
-
C# 最简单的文件复制实例
C# 最简单的文件复制实例,文件拷贝的示例,比较简单,若要启用启用xp_cmdshell, 请查看启用xp_cmdshell使用说明。
- 2022-03-01 11:06:17下载
- 积分:1
-
收集几个C#文件夹文件操作的示例集
收集几个C#文件夹文件操作的示例集,涉及到以下几个例子:
获取当前文件夹中文件的完整路径
获取当前文件夹中目录的完整路径
获取当前根目录中文件的完整路径
判断指定文件名称是否带有扩展名
判断路径是绝对路径还是相对路径
这些例子对熟悉C#的各种文件操作有很好的学习价值,可编译源代码请点击下载。
- 2023-05-25 07:50:03下载
- 积分:1
-
C#SQL 版人事工资管理系统 源代码
C#版人事工资管理系统 源代码,比较综合的一个系统,是一本C#应用编程中的一个范例,对C#编程有很好的借鉴参考意义。这套人事工资管理系统可以进行档案管理、奖罚管理和工资管理等,另外还可以通过水晶报表对工资信息进行打樱
管理员用户名为tsoft,密码为111。
(2)本系统有两种操作权限,一种是超级管理员,一种是一般用户,超级管理员具有所有权限,普通用户则不可以执行系统管理及操作员管理操作。
关于系统的使用,请参见源码包中的使用说明。
- 2022-06-26 22:25:29下载
- 积分:1
-
C# 演示如何使用DataGridView更新数据
C#更新修改DataGridView数据,请直接在DataGridView表格中修改数据,C# 更新DataGridView数据的实现代码如下:
private void button1_Click(object sender, EventArgs e)
{//更新数据
var MyCount = this.sqlDataAdapter1.Update(this.dataSet1, "Customers");
var MyInfo = "成功更新" + MyCount.ToString() + "条记录!";
MessageBox.Show(MyInfo, "信息提示", MessageBoxButtons.OK);
}
private void Form1_Load(object sender, EventArgs e)
{//读取Customers数据表记录
var MySQL = "Select * From Customers ";
this.sqlConnection1.ConnectionString = "Data Source=.SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True";
this.sqlCommand1 = new System.Data.SqlClient.SqlCommand("Select * From Employees", this.sqlConnection1);
this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter(this.sqlCommand1);
this.sqlCommandBuilder1 = new System.Data.SqlClient.SqlCommandBuilder(this.sqlDataAdapter1);
this.sqlDataAdapter1.Fill(this.dataSet1, "Customers");
this.dataGridView1.DataSource = this.dataSet1.Tables[0];
- 2022-03-24 05:10:10下载
- 积分:1
-
支付宝免签收款源码
支付宝免签收款源码,不用购买接口,免费试用
- 2022-01-24 10:18:05下载
- 积分:1
-
C# 最经典 简单的progressBar进度条用法示例
这是一个大家都熟悉的实用技巧,用C#制作进度条功能,本代码演示了最简单,且实现方法简单的progressBar进度条用法示例,
单击按钮后,开始演示进度条效果,这部分代码写在按钮事件中:
progressBar1.Value = 0;//设置进度条的初始值
progressBar1.Minimum = 0;//设置progressBar1控件的Minimum值为0
progressBar1.Maximum = 500;//设置progressBar1的Maximum值为500
progressBar1.Step = 1;//设置progressBar1的增值为1
for (int i = 0; i < 500; i++)//调用for语句循环递增
{
progressBar1.PerformStep();//使用PerformStep方法按Step值递增
textBox1.Text = "进度值:" + progressBar1.Value.ToString();
}
- 2022-08-18 01:25:55下载
- 积分:1
-
C# 查询订购产品ID为51的客户信息
C# 查询订购产品ID为51的客户信息,需要连接数据库来测试,相关代码分享如下:
//查询订购产品ID为51的客户信息
SqlConnection MyConnection = new SqlConnection(@"Data Source =luobin-PCSQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True");
MyConnection.Open();
DataSet MyDataSet = new DataSet("CustomerOrdersDetails");
SqlDataAdapter MyCustomerAdapter = new SqlDataAdapter("SELECT * FROM Customers", MyConnection);
MyCustomerAdapter.Fill(MyDataSet, "Customers");
DataTable MyTable = new DataTable();
MyCustomerAdapter.Fill(MyTable);
SqlDataAdapter MyOrderAdapter = new SqlDataAdapter("SELECT * FROM Orders", MyConnection);
MyOrderAdapter.Fill(MyDataSet, "Orders");
SqlDataAdapter MyDetailAdapter = new SqlDataAdapter("SELECT * FROM [Order Details]", MyConnection);
MyDetailAdapter.Fill(MyDataSet, "OrderDetails");
MyConnection.Close();
MyDataSet.Relations.Add("CustOrders",MyDataSet.Tables["Customers"].Columns["CustomerID"],MyDataSet.Tables["Orders"].Columns["CustomerID"]).Nested = true;
MyDataSet.Relations.Add(
- 2023-04-28 12:35:03下载
- 积分:1