我已经编写了类SomeObject
,我想定义一个const
实例来在我的TestCase
中保留/重复使用。我应该如何重写下面的代码以实现这种行为?
[TestFixture]
public class SomeObjectTests
{
private const SomeObject item0 = new SomeObject(0.0); // doesn't work
[TestCase(item0, ExpectedResult = 0.0)]
public double TestSomeObjectValue(SomeObject so)
{
return so.Value;
}
[TestCase(item0, ExpectedResult = "0.0")]
public string TestSomeObjectValueString(SomeObject so)
{
return so.ValueString;
}
}
我得到了以下错误消息:
除字符串以外的引用类型的常量字段只能用null进行初始化。
static readonly
代替const
。在 C# 中,并非所有类型都支持const
。该类型必须是编译时常量。请参见此处:https://dev59.com/DW025IYBdhLWcg3wEhrr。 - M.kazem Akhgaryconst
的条件。然而,string
是一个例外。 - Wai Ha Leeconst
与任何类型一起使用。每种类型都至少有一个编译时常量字面值。大多数类型无法创建任何有用的const
值,因为该类型的大多数有意义的值没有编译时字面值。 - Servy