namespace TestLibrary
{
[TestFixture]
public class Class1
{
public delegate T Initializer<T>();
public static T MyGenericMethod<T>(Initializer<T> initializer) where T : class
{
return initializer != null ? initializer() : null;
}
[Test]
public void Test()
{
var result = MyGenericMethod(MyInitializer);
Assert.IsNotNull(result);
}
private object MyInitializer()
{
return new object();
}
}
}
这是在Visual Studio 2010中运行时可以正常工作的代码。但如果我尝试使用命令行的MSBUILD进行构建...
"c:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe" Solution1.sln
我遇到了一个非常熟悉的错误信息:
无法从使用情况中推断出方法“方法名称”的类型参数。请尝试明确指定类型参数。
有什么想法吗?
/tv:3.5
选项会再次导致错误。 - Radek Stromský