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

时间:2014-01-02 12:31:38

标签: c# xna farseer

Circle2.IsSensor = Circle1.IsSensor;

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

我总是收到此错误消息。怎么了?我应该改变什么?

2 个答案:

答案 0 :(得分:0)

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

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

详细了解访问者here。但是根据design guidelines,FxCOP使用的设计不应该允许它。如果您有权访问代码,请考虑更改设计。

  

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

     

如何修复违规行为要修复违反此规则的行为,请添加获取   访问该物业。或者,如果a的行为   只写属性是必要的,考虑将此属性转换为   一种方法。

答案 1 :(得分:0)

似乎需要一个get accesor:

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