注意:
1,B对象的字符串名称是“B”;
2,A对象的字符串名称是“A”
class B
{
private A a;
public B()
{
if(AppDomain.CurrentDomain下不存在Type名称是"A"的实例)
{
//a=new A();
throw new Exception(...);//外部捕捉对应的异常进行相应的处理
}
//TODO:B的实例化
}
}
红色部分使用反射怎么写(根据类名字符串,反射在当前应用程序作用域判断这个类是否存在实例。存在就能进行下一个类的实例化,否则不行)?或者设计单例变量怎么设计?
(不知道怎么遍例AppDomain.CurrentDomain下所有的对象和实例,急啊!)
(A,B在同一个AppDomain中允许多个实例)
??? static不是对所有的AppDomain都可见吗?怎么实现对当前AppDomain 的判断呢?
啥意思?没明白。
看楼主的意思是:想在实例化A的时候判断整个应用程序是否有B的实例?
class A
{
public static A Instance;
}
class B
{
public B()
{
if (A.Instance == null)
{
A.Instance = new A();
}
//new B
}
}
试试 if ( 对象==null || 对象.IsDisposed )
lS的方法就行。