C#, C♯, C#相談室 Part51 at TECH
[2ch|▼Menu]
547:539,541
09/02/25 15:44:40
>>544
共通の基底クラスが必要なければ、

class Base<T> where T : Base<T>, new()
{
  public static T Create() { return new T(); }
}
class A : Base<A> { }
class B : Base<B> { }

でも可だと思う。A:Base<foo>と書く時のfooはAのみに制約されて、それ以外を書くとコンパイル
エラーではねられる。継承先のクラスのインスタンスをプロパティの設定などの処理とともに生成
するメソッドを持つクラスを作る(変態的だけど)わりと一般的なテクニック。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5373日前に更新/228 KB
担当:undef