brightheroes(闭关|那一剑的风情) 你的意思我不是很明白我的问题意思是这样的:
现在已知一个MainData 类,并且知道在运行时它肯定会被实例化,通常情况下想使用这个类的方法和属性可以用它的对象获得,比如 maindata.Name,现在的情况是我不知道这个对象名,而且不能通过新建一个对象的方法获得属性,请问我想获得这个对象,改怎么写?
现在已知一个MainData 类,并且知道在运行时它肯定会被实例化,通常情况下想使用这个类的方法和属性可以用它的对象获得,比如 maindata.Name,现在的情况是我不知道这个对象名,而且不能通过新建一个对象的方法获得属性,请问我想获得这个对象,改怎么写?
在类的定义中加一个静态的变量用来记录这个类的一个实例.然后可以通过这个变量来得到实例化后的实例.如下:
public class SomeClass
{
static public SomeClass sc;
public SomeClass()
{
sc=this;
//
// TODO: 在此处添加构造函数逻辑
//
}
public void somefun()
{ }
}
这样只能得到一个实例,如果得到多个可以换成一个数组.
不知道这样可不可以解决你的问题
System.Reflection.ConstructorInfo ctor = type.GetConstructor(new Type[]{type});
CellObject cellObj = (YourType)ctor.Invoke();
--------------------------------------------------------------------------
同意 hbxtlhx(下着春雨的天) ,你可以用singleton模式来实现
添加一个工厂类,由这个工厂类来获得maindata的实例。
public mainDataFactory
{
static private MainData md; statuc public MainData getMainData()
{
if( md==null )
md=new MainData();
return md;
}}
这个市别人的 东西
不过 有我的一个评论 是关于反射的 看看对你 是否有帮助