Ami*_*ban 6 c# methods class function parameter-passing
我有两个班:
Class Gold;
Class Functions;
Run Code Online (Sandbox Code Playgroud)
有一种方法ClassGet在类Functions,其具有2个参数.我想将类Gold作为参数发送给我在课堂上的一个方法Functions.这怎么可能?
例如:
public void ClassGet(class MyClassName, string blabla)
{
MyClassName NewInstance = new MyClassName();
}
Run Code Online (Sandbox Code Playgroud)
注意:我想将MyClassName字符串参数发送到我的方法.
Jer*_*gen 13
您尝试实现的功能已经存在(有点不同)
查看Activator类:http://msdn.microsoft.com/en-us/library/system.activator.aspx
例:
object instance = Activator.Create(className);
Run Code Online (Sandbox Code Playgroud)
或者像这样:
Type type = typeof(MyClass);
MyClass instance = (MyClass)Activator.Create(type);
Run Code Online (Sandbox Code Playgroud)
或者在你的情况下:
public void ClassGet(string MyClassName,string blabla)
{
object instance = Activator.Create(MyClassName);
}
// Call it like:
Gold g = new Gold();
g.ClassGet("MyClass", "blabla");
Run Code Online (Sandbox Code Playgroud)
您在寻找类型参数吗?
例:
public void ClassGet<T>(string blabla) where T : new()
{
var myClass = new T();
//Do something with blablah
}
Run Code Online (Sandbox Code Playgroud)
您可以将其作为 type 的参数发送Type,但随后您需要使用反射来创建它的实例。您可以改用泛型参数:
public void ClassGet<MyClassName>(string blabla) where MyClassName : new() {
MyClassName NewInstance = new MyClassName();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46590 次 |
| 最近记录: |