属性或索引器'FarseerPhysics.Dynamics.Body.IsSensor'不能在此上下文中使用,因为它缺少 get 访问器


Circle2.IsSensor = Circle1.IsSensor;

属性或索引器"FarseerPhysics.Dynamics.Body.IsSensor"不能在此上下文中使用,因为它缺少get访问器

我总是收到这个错误消息。怎么了?我应该更改什么?

因为它是一个只写属性。可能类似

private static bool _isSensor;
public static bool IsSensor
{
set 
{
_isSensor= value;
}
}

点击此处阅读更多关于访问者的信息。然而,根据设计指南,FxCOP使用的设计不应该允许它。如果你有权访问代码,可以考虑更改设计。

Get访问器提供对属性的读取访问,set访问器提供写入访问。尽管只读属性是可以接受的,而且通常是必要的,但设计指南禁止使用只读属性。这是因为让用户设置一个值,然后阻止用户查看该值并不能提供任何安全性。此外,如果没有读取访问,则无法查看共享对象的状态,这限制了它们的有用性。

如何修复违规若要修复对此规则的违规,请添加属性的访问器。或者,如果只写属性是必需的,请考虑将此属性转换为一种方法。

它似乎需要一个get加速器:

private static bool _isSensor;
public static bool IsSensor
{
set 
{
_isSensor= value;
}
get
{
return _isSensor;
}
}

相关内容

最新更新