c#如何创建类 调用
答案:3 悬赏:80
解决时间 2021-01-21 13:14
- 提问者网友:献世佛
- 2021-01-20 22:21
c#如何创建类 调用
最佳答案
- 二级知识专家网友:人類模型
- 2021-01-20 22:58
创建类
Public 【static】 void ClassName(string strName)
安全级别 是否静态(可选) 是否有返回值类名 (参数类型 参数名【多个以‘,’隔开】)
调用类
静态可以直接类文件名。类名
非静态则是 类文件名 新名=new 类文件名;
新名。类名;
够明白了吧。。给分走人!
Public 【static】 void ClassName(string strName)
安全级别 是否静态(可选) 是否有返回值类名 (参数类型 参数名【多个以‘,’隔开】)
调用类
静态可以直接类文件名。类名
非静态则是 类文件名 新名=new 类文件名;
新名。类名;
够明白了吧。。给分走人!
全部回答
- 1楼网友:冷風如刀
- 2021-01-21 00:27
泛型反射和普通反射的区别就是泛型参数的处理上。
先看一个简单的例子。
class Class1<T>
{
public void Test(T t)
{
Console.WriteLine(t);
}
}
要利用反射动态创建该类型实例,并调用 Test 方法,我们可以使用如下方法。
Type type = typeof(Class1<int>);
object o = Activator.CreateInstance(type);
type.InvokeMember("Test", BindingFlags.Default | BindingFlags.InvokeMethod, null, o, new object[] );
但如果泛型参数是未定的,我们该如何处理呢?其实 Type 已经增加了类似的处理机制。
static void InvokeTest(Type t, params object[] args)
{
Type type = typeof(Class1<>);
type = type.MakeGenericType(t);
object o = Activator.CreateInstance(type);
type.InvokeMember("Test", BindingFlags.Default | BindingFlags.InvokeMethod, null, o, args);
}
另外一种情况就是泛型方法,我们继续。
class Class1
{
public void Test<T>(T t)
{
Console.WriteLine(t);
}
}
方法类似,只不过这回使用的是 MethodInfo.MakeGenericMethod()。
static void InvokeTest(Type t, params object[] args)
{
Type type = typeof(Class1);
object o = Activator.CreateInstance(type);
MethodInfo method = type.GetMethod("Test", BindingFlags.Instance | BindingFlags.Public);
method = method.MakeGenericMethod(t);
method.Invoke(o, args);
}
先看一个简单的例子。
class Class1<T>
{
public void Test(T t)
{
Console.WriteLine(t);
}
}
要利用反射动态创建该类型实例,并调用 Test 方法,我们可以使用如下方法。
Type type = typeof(Class1<int>);
object o = Activator.CreateInstance(type);
type.InvokeMember("Test", BindingFlags.Default | BindingFlags.InvokeMethod, null, o, new object[] );
但如果泛型参数是未定的,我们该如何处理呢?其实 Type 已经增加了类似的处理机制。
static void InvokeTest(Type t, params object[] args)
{
Type type = typeof(Class1<>);
type = type.MakeGenericType(t);
object o = Activator.CreateInstance(type);
type.InvokeMember("Test", BindingFlags.Default | BindingFlags.InvokeMethod, null, o, args);
}
另外一种情况就是泛型方法,我们继续。
class Class1
{
public void Test<T>(T t)
{
Console.WriteLine(t);
}
}
方法类似,只不过这回使用的是 MethodInfo.MakeGenericMethod()。
static void InvokeTest(Type t, params object[] args)
{
Type type = typeof(Class1);
object o = Activator.CreateInstance(type);
MethodInfo method = type.GetMethod("Test", BindingFlags.Instance | BindingFlags.Public);
method = method.MakeGenericMethod(t);
method.Invoke(o, args);
}
- 2楼网友:几近狂妄
- 2021-01-20 23:45
创建类很简单,看用的什么软件,一般都是添加--新建项--类然后给类起名字即可创建类。至于调用,调用的话都是调用类中的方法、参数等。一般都是
类名 类的对象=new 类名();
如:Car car=new Car();
car。load();load就是car类里面的一个方法
类名 类的对象=new 类名();
如:Car car=new Car();
car。load();load就是car类里面的一个方法
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯