いつも参考/活用させていただいております。
早速ですが、表題の件をご教授いただければと思いまして投稿しました。
■やりたいこと
既存DLLを参照し、そこに実装されているクラス(ClassA)を継承したクラス(ClassB)側で
プロパティ値を書き換えたい。
C#
1// ClassA.dll 2public ClassA 3{ 4 public string Name 5 { 6 get { return "Class A!"; } 7 } 8} 9 10// ClassB.dll 11public ClassB : ClassA 12{ 13 // Nameが返す文字列をClassB側で書き換えたい! 14 public override string Name 15 { 16 get { return "Class B!"; } 17 } 18}
としたいのですが、元のClassAのソースコードの変更が出来無いためVirtualに指定出来ないのです。
(ClassA.dllモジュールで提供)
試しに
C#
1 public new string Name 2 { 3 get { return "Class B!"; } 4 }
なら出来るのかなと思ったのですが、ここが読み出されていない感じでした。
こういったことは可能なのでしょうか??
※補足1
継承で対応したい理由としては、継承元の状態を出来る限りそのまま利用したいからです。
本体アプリケーションから参照されるもの(Plug-In)になるのですが、
フィールド変数で元クラスのインスタンスを持ってしてしまうと、
本体アプリケーションから読み出されるMethodをすべてWrapしなければならない。
(継承元クラス(dll)は、自部署開発ではないので、管理が煩雑になってしまう)
→ 継承させて、追加したい部分のみ機能拡張をしたいのです。。。
回答1件
あなたの回答
tips
プレビュー