使用空属性设置器时,引发Visual Studio警告
|
我需要创建一个可序列化的类。
在此类中,我有一个MyGuid只读属性,我希望该属性可序列化但不可反序列化(在后备字段中初始化了属性)。
您知道,使用基本序列化.NET功能,具有reandonly属性会使反序列化失败,因为它无法反序列化只读属性。
因此,我决定创建一个具有后备字段的公共get-Set MyGuid属性,并使setter不执行任何操作:
[Serializable]
public class Task : ITask
{
private readonly Guid m_guid = Guid.NewGuid();
public MyGuid Guid
{
get { return m_guid; }
set { /*Empty setter!*/ }
}
}
现在我不想用脚开枪...
有一种方法可以将MyGuid属性设置为“ deprecable”或“ disabled”?
如果我尝试使用设置器,Visual Studio会警告我会很好。
或者,有更好的方法来管理此类需求?
谢谢!
编辑:在这里找到了一些东西:我正在读取序列化私有成员数据...
没有找到相关结果
已邀请:
2 个回复
素汞读
如果您不小心自己设置了该值,则会在调试窗口中收到警告。另一方面,您绝对需要串行器的设置器,否则反序列化器从文件中读取该属性后将永远无法为其指定一个值!因此,设置程序不适合您,而是串行器正常运行。
铰齐插