C#, C♯, C#相談室 Part98 (476レス)
C#, C♯, C#相談室 Part98 http://mevius.5ch.net/test/read.cgi/tech/1719656321/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
158: デフォルトの名無しさん (ワッチョイ a913-VR7F) [sage] 2024/10/21(月) 02:25:35.38 ID:SQ8zGBXh0 ライブラリを使用するために下みたいなコード書いた ライブラリ内でIHoge.Method();の機能を上書きしたいのとHogeで設定されるさまざまな機能を使いたいがためにIHogeを実装したHogeクラスを継承してMethod();を隠蔽、そのうえでライブラリから呼び出されるようにIHogeをさらに継承?実装させてる ちょっと無理矢理感強いけどこれはアリですか? ライブラリの中 ~ IHOGE.Method(); ~ public interface IHoge { public void Method(); } public class Hoge : IHoge { public void Method() { 元の処理 } } 自前で作ったクラス public class NewHage : Hoge,IHoge { public new void Method() { 上書き処理←やりたいこと } } http://mevius.5ch.net/test/read.cgi/tech/1719656321/158
160: デフォルトの名無しさん (ワッチョイ 11de-LgwA) [sage] 2024/10/21(月) 08:25:43.38 ID:451kbP4c0 >>158 Hoge.Methodにvirtual NewHage.Methodでoverride http://mevius.5ch.net/test/read.cgi/tech/1719656321/160
161: デフォルトの名無しさん (ワッチョイ 0501-FUd+) [sage] 2024/10/21(月) 12:38:44.14 ID:1/IbrF450 >>158 それがやりたいことなら別にいいんじゃね? Hogeの他のメソッドがMethod()を呼ぶとか Method()がHogeの他のメソッドを呼ぶとかの関係が出てくると newを使わない場合に比べるとバグるリスクが高くなるような気はする インターフェース+コンポジションにしておけばバグるリスクは低くなる その代わりに多少書く手間がかかる http://mevius.5ch.net/test/read.cgi/tech/1719656321/161
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.056s*