C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 8 を表示中)
■8055 / )  無理のようで(^^;
□投稿者/ 一羽 二等兵(15回)-(2006/11/03(Fri) 17:37:03)

分類:[C#] 

みなさん、ご意見ありがとうございますm(_ _)m
とりあえず、「無理」という結論にして、Cloneの戻り値はobjectかAbstractClassのどちらかで定義しようと思います。

NyaRuRuさまがおっしゃったリフレクションに関しては、リフレクション自体に対する知識が不足しているため、どうすればよいのか現段階ではイメージがわきません(-_-;)
もう少し勉強して理解できるようになってから、上記のクラスをリファクタリングすることにします。

----とはいえ、どうにも不満は残りまして。

(※最初に例示した名前だとわかりにくいので名前を変えちゃいます)

ある複製可能なクラス(仮称:ClassLanchSet)が所有するクラス(仮称:ClassSarada、ClassRice、ClassSoup)を複製可能とする手法として、
ClassSarada、ClassRice、ClassSoupの継承元であるAbstractClassDishにIClonableを実装させるのがスマートだと思ったのですが、
この方法ではClassSaradaを複製して得られるものが「サラダ」とラベルされているのではなく「料理」とラベルされているため、
いちいち明示的にキャストして(ラベルを張り替えて)使うことになり、使う側からするとスマートでない感じがします。

NyaRuRuさまの言うとおり世の中すべてのクラスがClonableではないのですが、Clonableであることを強要する場面(ランチセットに含まれる料理はすべて複製できないと困りますよね)で、どうやれば「必ずClonableで」「使う側から見てもスマート」な実装ができるものか……。

まだしばらく悩もうと思います。(コードのほうは締め切りがあるので進めざるを得ませんが)
解決マークはしばらく保留させてくださいm(_ _)m

0
返信 編集キー/


管理者用

- Child Tree -