我创建了一个类调用 Sales 与 金额 get/set:
class Sales
{
public static string Amount { get; set; }
}
然后我从其他类调用,超出函数范围:
class Test
{
Sales.Amount = "10";
public static VoidSales()
{
.....
}
}
我收到以下错误:
'Fun.Sales.Amount' is a 'property' but is used like a 'type'
但是当我在函数中使用时,它是正确的。
谢谢。
不能将这些类型的赋值语句放在开放类上下文中。 只能在方法中进行这些类型的赋值。 在类上下文中唯一可以完成的赋值是类级别字段的初始化。
如果需要在实例化类时进行此赋值,则应在构造函数中完成。
我可能无法很好地解释它。但是 get/set 属性实际上等效于一个方法。话虽如此,我相信你不能在函数之外调用方法吧?
class Test
{
Sales.Amount = "10";
public static VoidSales()
{
.....
}
}
这是一个语法问题。您不能在函数外部引用 Sales.Amount - 在这里您可以将其定义为属性或变量,并且它们必须遵循变量(或属性)的规则。
你需要创建一个构造函数并将赋值移到那里。
class Test
{
Test () {
Sales.Amount=10;
}
}
错误纯粹是您定义的项的 NAME (Sales.Amount) 在函数外部的类的上下文中不是有效名称。
}
如果它是一个静态值,那么它已经在应用程序的其他位置声明了。您基本上是在尝试在只能进行赋值的地方调用方法。
如果这不是静态字段,那么您可以进行分配,然后更改"金额",例如
class Test
{
public Sales sales = new Sales()
{
Amount = "10" //Assign Value Here
};
public Test()
{
sales.amount = "10"; //Or Assign Value here in constructor
}
}
但是,如果这是一个静态字段,则在构造函数中或在声明静态字段时进行赋值。
class Sales
{
public static string Amount = "10" //You don't require get/set here
}
class Test
{
public Test()
{
Sales.Amount = "10";
}
}