我目前只是通过通用接口公开属性,例如如何使用类作为基础,但公开地隐藏类的类型?
public interface IBaseClass
{
int ID { get; set; }
}
internal class MyBaseClass : IBaseClass
{
public MyBaseClass() { }
public int ID { get; set; }
}
public class MyExposedClass : IBaseClass
{
private MyBaseClass _base = new MyBaseClass();
public int ID
{
get { return _base.ID; }
set { _base.ID = value; }
}
}
然后在我的主要应用程序,我可以这样做:
IBaseClass c = new MyExposedClass();
c.ID = 12345;
但不能做:
MyBaseClass b = new MyBaseClass();
这是我所期望的行为。
但是,我只是想知道这是否是正确的方法?或者如果有更好的方法?
更好的方法来做什么?你应该更好地解释你的意图。 – Danvil 2010-04-30 08:49:25
@Danvil:一个更好的方式来做我的问题要求... – James 2010-04-30 08:50:50