我有一套对象,我想符合一个接口,说ISpecialObject。 然而,我想要在每个ISpecialObject的实现中封装这些特殊对象的实例化触发器。无法将静态方法指定为接口的一部分?
所以说例如我有作为实现ISpecialObject的类类型列表,然后我想要通过每一个,并调用一个像CanCreate(一些数据),它告诉我是否创建一个实例的静态方法这些。
但是,.net似乎没有让我指定这个静态CanCreate作为ISpecialObject接口的一部分。
任何人都可以提出一种方法来解决这个问题,或者更好的方法来解决这些对象的实例化封装的问题?我可能只是在想这一切都是错误的。
谢谢。
编辑:我可能已经说了这个很糟糕的一些部分。我不想在接口中提供实现,而是指定将会有一个,并且它将是静态的。本质上,我希望通过允许更高级别的对象查询何时在运行时创建它们来自定义对象。
我讨厌这个工厂模式,我更喜欢属性。 – leppie 2010-08-25 05:15:12
我不是工厂的狂热粉丝,但不会静态决定属性吗?如果'CanCreate'取决于运行时间因素怎么办?此外,还涉及到反思,尽管您可以将其削减为一次性成本。我希望看到更多你的意思。 – 2010-08-25 05:19:24
@Chris Schmich:查看任何.NET IoC库。对于自定义行为,你总是可以称呼(咳嗽)工厂。 :) – leppie 2010-08-25 05:21:06