我在处理一些代码时遇到了一些设计问题:
我的代码基本如下所示:
主要的 COM 包装器:
public class MapinfoWrapper
{
public MapinfoWrapper()
{
Publics.InternalMapinfo = new MapinfoWrapper();
}
public void Do(string cmd)
{
//Call COM do command
}
public string Eval(string cmd)
{
//Return value from COM eval command
}
}
公共静态类保存对包装器的内部引用:
internal static class Publics
{
private static MapinfoWrapper _internalwrapper;
internal static MapinfoWrapper InternalMapinfo
{
get
{
return _internalwrapper;
}
set
{
_internalwrapper = value;
}
}
}
使用内部包装实例的代码:
public class TableInfo
{
public string Name {
get { return Publics.InternalMapinfo.Eval("String comman to get the name"); }
set { Publics.InternalMapinfo.Do("String command to set the name"); }
}
}
这对任何人来说都难闻吗?我应该使用内部属性来保存对主包装对象的引用,还是应该在这里使用不同的设计?
注意: MapinfoWrapper 对象将被外部世界使用,所以我真的不想让它成为单例。