首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

【100分】一个简单有关问题,困扰了很久了,望指教!

2012-08-17 
【100分】一个简单问题,困扰了很久了,望指教!!!!!!!!C# code//举例,几个类似的类,都继承摸一个父类class tes

【100分】一个简单问题,困扰了很久了,望指教!!!!!!!!

C# code
//举例,几个类似的类,都继承摸一个父类class testA : father{    string aa;    string aaa;}class testB : father{    string bb;    string bbb;}//已知一个变量的值是这些子类的名字string valStr = "testA";//或者string valStr = "testB";//求一个方法,可以用这个变量,new出对应的子类的对象



[解决办法]
搞个工厂方法, 或者反射...
 你这问题问的玄乎么?
father Factory(string clsName)
{
father ojb;
swith(clsName)
case "testA":
ojb=new testA();
break;
}

[解决办法]
C# code
string valStr = "testA";Type t = Type.GetType("命名空间." + valStr, true);object o = System.Activator.CreateInstance(t, true);
[解决办法]
难道不是用反射?
[解决办法]
楼上说的对 
比如:
C# code
public static IData.IProgram CreateProgram(){   string className = path + ".ProgramData";   return (IData.IProgram)Assembly.Load(path).CreateInstance(className);}
[解决办法]
使用反射吧 骚人.
[解决办法]
探讨

楼上说的对
比如:
C# code

public static IData.IProgram CreateProgram()
{
string className = path + ".ProgramData";
return (IData.IProgram)Assembly.Load(path).CreateInstance(className);
}

[解决办法]
lz你看是反射,你射吧
[解决办法]
呵呵,反射
通过ClassName(string)得到Type,这个限于同一个Assembly中,如果跨Assembly则需要FullName
然后通过Type进行Activator.CreateInstance(Type)得到对象
[解决办法]
探讨

楼上说的对
比如:
C# code

public static IData.IProgram CreateProgram()
{
string className = path + ".ProgramData";
return (IData.IProgram)Assembly.Load(path).CreateInstance(className);
}

[解决办法]
可以考虑动态编译
A5B547B287E7.htmlhttp://topic.csdn.net/u/20120719/16/11DEC7B0-B43C-4F79-9C73-A5B547B287E7.html
[解决办法]
探讨

引用:

楼上说的对
比如:
C# code

public static IData.IProgram CreateProgram()
{
string className = path + ".ProgramData";
return (IData.IProgram)Assembly.Load(path).CreateInstance(className)……

[解决办法]
老老实实用反射吧
[解决办法]
up,不会
[解决办法]
难道LZ有什么深意?

如果按照表面意思来看,应该很简单的.

还是我想的太多的了!
[解决办法]
一个射的问题,困扰你这么久。。。。。。。
[解决办法]
C# code
father f;if( valStr == "testA"){  f = new testA();}else if( valStr == "testB"){ f = new testB();} 


[解决办法]
楼主这么多五角星会问出这样的问题?
[解决办法]
用反射毫无压力,但是如果都知道类名了再去反射就没有意义了
[解决办法]

探讨
使用反射吧 骚人.

[解决办法]
C# code
//求一个方法,可以用这个变量,new出对应的子类的对象 

热点排行