###聞きたいこと
インターフェースを以下のように使うのは邪道ではないですか?
interface IA { void Do } class Testobj { private class A : IA { public void Do() { } public void Do_2() { } } A a; public IA AFuncionality => a; void DoAboutA { a.Do_2(); } } class Test { void TestA() { var obj = new Testobj(); var a = obj.AFuncionality; // ここでaに対してDoしか呼び出せない } }
見えなくていいものを見えないようにしたくて、いままでは名前空間を分けてinternalにしてみたり、見せるためのクラスを作ってインスタンスが要求されるたびにそのクラスのインスタンスを内部で使ってる別クラスのインスタンスから生成したりしてたのですが、やってたらこんなのができたのでこれでもいいのかと気になりました。
よろしくお願いします。
追記:
あんまりポリモーフィズムとは関係のない使い方なので、これでいいのかなぁと。
やりたかったことは、AFuncionalityを使う側はあくまでDoメソッドだけをつかってほしくて、間違ってそれ以外のAのTestobjから呼び出したいパブリックメソッドを呼んだりするとメモリの状態がおかしくなったりするイメージです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。