class Program
{
static StringBuilder sb = new StringBuilder();
static void Main(string[] args)
{
Type t4 = typeof(double);
Analyze(t4);
MessageBox.Show(sb.ToString(), "Analyze of type is " + t4.Name);
}
private void Analyze(Type t5)
{
AddToSb("TypeName:" + t5.Name);
AddToSb("MemberType" + t5.MemberType);
AddToSb("ReflectType:" + t5.ReflectedType);
}
static void AddToSb(string Text)
{
sb.Append("\n"+Text);
}
}
因为main函数需要设置成静态方法,静态方法不能直接调用类中的非静态方法,除非先实例化这个类
1.静态方法只能用来调用静态函数和变量的,这是语言规则。Main方法是静态方法。
2.你把Anasyze设置为静态方法,会发现提示错误,不能调用非静态方法AddToSb,原因同1。
3.非静态方法的调用需要实例化类。
将 Analyze(t4);
修改如下:
Program program = new Program();
program.Analyze(t4);