あなたが探しているものということですか?
public class BaseClass : ISomeInterface, ISomeOther
{
public int Prop1 { get; set; }
public int Prop2 { get; set; }
public int Prop3 { get; set; }
}
public class Derived : BaseClass
{
// inherits all 3 props
}
public interface ISomeInterface
{
int Prop1 { get; }
int Prop2 { get; }
}
public interface ISomeOther
{
int Prop3 { get; }
}
public static class Program
{
public static void Main()
{
BaseClass instance1 = new BaseClass(); // IntelliSense shows all 3 props
Derived instance2 = new Derived(); // IntelliSense shows all 3 props
ISomeInterface instance3 = new BaseClass(); // IntelliSense shows 2 props from interface
ISomeOther instance4 = new BaseClass(); // IntelliSense shows only Prop3
}
}
特定のインターフェイスで機能を分解することによって、使用されているインターフェイスに応じて特定の機能のサブセットを提供できます。
ありがとう、私は3つ以上のプロパティを持っているので、これは私のケースではあまり実用的ではありません。そして、私が小道具を持っているクラスを作成したい場合は、その目的のために新しいインターフェイスを作成する必要がありますさらに多くのプロパティを使用すると、たくさんのインターフェイスが完成します。 – PreqlSusSpermaOhranitel
もちろん、各プロパティの単一のインターフェイスを公開しないでください。おそらくそれらは意味のある方法でグループ化することができます。 – khlr
彼らは本当に私のプロパティがゲームのためであり、それらのプロパティが攻撃、防御、回避などの異なるキャラクタ状態を表すので、それらは本当にグループ化できません。ユニットはすべての異なる種類のステータスを持つことができます。 – PreqlSusSpermaOhranitel