私の目標は、ほとんどのシナリオでオブジェクトが完全なインターフェイスのサブセットである「読み取り専用インターフェイス」を介して使用されるようにすることです。
const
たとえば、C++ を使用している場合は、オブジェクトを返すだけです。- C# では、インターフェイスでこれを実現できれば、読み取り専用のインターフェイスを実装して、どこでも使用できます。ただし、インターフェイスでは許可されていない演算子のオーバーロードが必要です。そのため、抽象基本クラスを使用する必要があります。
- しかし、抽象基本クラスを定義すると、派生型のアクセシビリティを変更することはできません。
では、C# で目標を達成するにはどうすればよいでしょうか。