トップページ > プログラム > 2015年08月27日 > 4ooez7+r

書き込み順位&時間帯一覧

11 位/176 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000001003004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net

書き込みレス一覧

C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
750 :デフォルトの名無しさん[]:2015/08/27(木) 18:33:33.61 ID:4ooez7+r
以下のようなことをしたいのですが、
メソッド名が重複するため上手くいきません。
ある変数のスーパークラスを上書くようなことはできないのでしょうか?

public abstract class A{
public abstract MyClass instance {get;}
}
public abstract class B<T> : A where T ; MyClass{
public T MyClass instance {get;}
}
C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
755 :デフォルトの名無しさん[]:2015/08/27(木) 21:05:28.92 ID:4ooez7+r
TはMyClassの継承関係です。
AとかBじゃ分かりにくいですね。

public abstract class 田中{
public abstract 行動 instance {get;}
}
public abstract class 修行した田中<料理> : 田中 where T ; 行動 {
public 料理 instance {get;}
}

はじめからTつければいいじゃんとか思うかもしんないけど、
ジェネリックの共変性とかの問題があったりしてこんな実装になってます。
C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
760 :デフォルトの名無しさん[]:2015/08/27(木) 21:46:52.77 ID:4ooez7+r
public abstract 行動 strategy {get;} を
public override 料理 strategy {get;} に上書きしたいです。

まとめるとこうです。
1.オブジェクトの行動を戦略ポリモーフィズムで実現したい
2.継承クラスから戦略をジェネリックに呼び出したい
3.基底クラスの戦略呼び出しは継承クラスの戦略を呼び出す(abstract)
4.ジェネリックの共変性(.net3.5を利用)の問題で3を基底<T>およびメンバTとするのは、
  その他のオブジェクトでキャストが膨大に発生するため、ジェネリックを持たない基底クラスを用意した 
C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
761 :デフォルトの名無しさん[]:2015/08/27(木) 21:56:46.79 ID:4ooez7+r
>>758
そういうことです!
たぶんできました!ありがとうございます


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。