INeedSomething的更好名字吗?

| 我试图为接口选择一个名称,通过它我可以将某些东西传递给类似这样的对象: 如果对象是INeedX,则将调用SetX(some x)方法;否则,将调用SetX(some x)方法。 如果对象是INeedY,则将调用SetY(some y)方法;否则,将调用SetY(some y)方法。 等等。 (很有趣,我知道:)) 我尝试为这种接口找到一个不同的名称,但我无法弄清楚。 有人知道如何命名INeedSomething接口吗?     
已邀请:
接口的名称IDependsOn怎么样(又名IDependsOnUserId,IDependsOnTimeOut)     
好吧,“ 0”界面可能表明设计笨拙。在我看来,您真正要寻找的是依赖注入,这等同于声明一个对象需要另一个对象才能起作用的代码。所以不要
class Car:INeed<Engine> {
    public Set(Engine engine)
}
,也许您真正想要的是
class Car {
    public Car(Engine engine)
}
如果您是我,我将尝试看看以上情况是否适用于您的情况,这是一种声明需求/依赖关系的更标准的方法     
public interface INeed<T>
{
   public T SetValue { set; }
}
通过使用泛型,接口定义的类型将在以后定义,如下所示:
class Needy : INeed<int>
{
   private int internalValue;
   public int SetValue { set {
     internalValue = value;
   } };
}
    
IRequire听起来更好,但是为此使用接口似乎是错误的。 使用属性代替:
class MyClass
{
    [Required]
    double X
    {
         get;
         set;
    }
}
    

要回复问题请先登录注册