簡単なテストケース:
using System;
public class Test<T>
{
public enum TestEnum
{
A,
B
}
public Test (TestEnum a = TestEnum.A)
{
DoSomething ();
}
protected void DoSomething()
{
}
}
コンパイラ (これは Unity3D プロジェクト、.NET4.0 ターゲットで Mono を使用しています) の呼び出しでエラーが発生しTest()
ますDoSomething()
。のデフォルト パラメータを削除すると、正常にTestEnum a
ビルドされます。MonoDevelop はデフォルトのパラメーターを呼び出したいと思っていますTestEnum<>.A
が、それはコンパイルされず、どちらもコンパイルされませんTestEnum<T>.A
(明らかに、これらが機能するとは思っていませんでしたが、MonoDevelop のオートコンプリートを使用すると、それが得られます)。
編集: 特定のエラーは次のとおりです。the name DoSomething doesn't exists in the current context