ふらっとC#,C♯,C#(初心者用) Part26at TECHふらっとC#,C♯,C#(初心者用) Part26 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト263:つづき 08/03/28 02:34:53 public override string ToString() { return "(" + left.ToString() + "." + right.ToString() + ")"; } static void Main() { Cons a = new Cons(10, "a"); Console.WriteLine(a.ToString()); } } 264:デフォルトの名無しさん 08/03/28 02:36:54 プラスとして、恐らく上のままでは一旦 Cons a = new Cons(10,"abc"); などとして作った後、 a.car="foo"; とするとエラーになると思うのですが、解決策はあるでしょうか? 265:デフォルトの名無しさん 08/03/28 02:46:24 >>264 この2つを直せば動く。 1. ジェネリッククラス内にエントリポイントMainは置けない。 2. ジェネリッククラスを使うときには、Cons<int, string>のように ジェネリックの引数を指定しないといけない。 266:デフォルトの名無しさん 08/03/28 03:02:32 ちなみに、 型推論を働かせたい場合、コンストラクタでは無理。 static partial class New { static Cons<T, U> Cons<T, U>(T left, U right) { return new Cons<T, U> (left, right); } } みたいな static メソッドを書けば、 C# 3.0 なら var a = New.Cons(10, "abc"); で、Cons<int, string> が作られたりはする。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch