c# - 不能将静态方法指定为接口(interface)的一部分?

标签 c# .net oop

我有一组对象,我想符合一个接口(interface),比如 ISpecialObject。 然而,在我的实现中,我想将这些特殊对象的实例化触发器封装在每个 ISpecialObject 的实现中。

例如,我有一个实现 ISpecialObject 的类类型列表,然后我想遍历每个类类型并调用一个静态方法,如 CanCreate(some data),它告诉我是否创建其中一个的实例这些。

但是,.net 似乎不允许我将此静态 CanCreate 指定为 ISpecialObject 接口(interface)的一部分。

谁能提出解决这个问题的方法,或者更好的方法来解决这些对象实例化的封装问题?我可能只是想错了。

谢谢。

编辑:我可能对其中的某些部分措辞不当。我不想在接口(interface)中提供实现,而是指定会有一个,并且它将是静态的。本质上,我希望通过允许更高级别的对象查询何时在运行时创建对象来自定义对象。

最佳答案

据我了解,您的主要问题是一组符契约(Contract)一接口(interface)的对象的实例化。如果是这样,您可能需要查看 Factory Design Pattern这是封装此类逻辑的标准方法。

关于c# - 不能将静态方法指定为接口(interface)的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3562965/

相关文章:

c# - 单元测试 XNA : Do I need to Mock my GraphicsDevice

.net - 将 .NET 代码编译为一个 EXE,将其他命名空间编译为 DLL

python - 如果为真 : destruct Class

php - 分配对象和分配对象引用有什么区别?

c# - 计算机重命名后调试

c# - lua:1: 'ï' 附近的意外符号

c# - 如何创建一个 "Processing"页面?

PHP 依赖注入(inject) - fatal error

c# - 在 iframe 中加载时清除 url 缓存

c# - 拆分逗号分隔值 (CSV)