类级
private void button1_Click(object sender, EventArgs e)
{
Filler<Info> filer = new Filler<Info>();
Info info = new Info();
info.Name = "A";
filer.Add(info);
}
public class Filler<T>
{
IList<T> list = new List<T>();
public void Add(T t)
{
list.Add(t);
}
}
public class Info
{
private string name = "";
public string Name { get { return name; } set { name = value; } }
}
方法级
private void button1_Click(object sender, EventArgs e)
{
Filler filer = new Filler();
Info info = new Info();
info.Name = "A";
filer.Add<Info>(info);
}
public class Filler
{
ArrayList list = new ArrayList();
public void Add<T>(T t)
{
list.Add(t);
}
}
public class Info
{
private string name = "";
public string Name { get { return name; } set { name = value; } }
}
1.查询每个月加入的记录总数
Select convert(varchar(7), [AddTime], 20) as [AddTime],count(*) as [Count]
From [Article] Group By convert(varchar(7), [AddTime], 20)
Order By [AddTime] Desc
每天的记录数:convert(varchar(10), [AddTime], 20)
每年的记录数:convert(varchar(4), [AddTime], 20)
2.A表和B表有关联外键,可以相互对换数据
Update [Article] Set [ClassName]=C.[ClassName]
From [Class] C Inner Join [Article] A On C.[ClassID]=A.[ClassID]
3.从一个表查询一些记录,导入另一个表
Insert Into [Tag]([TagName]) (Select [TagName] From [Tag])
重复一遍表的内容
委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。
委托方法的使用可以像其他任何方法一样,具有参数和返回值。
一个最简单的例子。
using System;
namespace DelegateTest
{
// 用 delegate 关键字定义一个委托。
public delegate void WriteText(string message);
public class Test
{
public static void Main()
{
WriteText handler = Write; // 实例化委托
// 可以用“+”或“+=”给委托添加方法或删除方法
// 委托和它绑定的方法它们的参数和返回值要一样,否则是不能绑定的。
handler += Write2;
// 使用可以像其他任何方法一样,具有参数和返回值。
handler("Hello World!");
Console.ReadKey();
}
public static void Write(string message)
{
System.Console.WriteLine(String.Format("*** {0} ***", message));
}
public static void Write2(string message)
{
System.Console.WriteLine(String.Format("### {0} ###", message));
}
}
}