Pet*_*teT 2 c# user-controls properties
我一直在尝试使用设计器中设置的一些自定义属性来构建用户控件.但是,控件涉及一些不应在运行时调整的互操作代码和设置.有没有办法在设计师代码最初设置后停止更改的值?
你能修改属性定义吗?一种方法是,向属性setter添加一个sentinel,并且只允许一个set操作(通常由InitializeComponent()完成):
private int _myProperty;
private bool _isMyPropertySet = false;
public int MyProperty
{
set
{
if (!_isMyPropertySet)
{
_isMyPropertySet = true;
_myProperty = value;
}
else
{
throw new NotSupportedException();
}
}
}
Run Code Online (Sandbox Code Playgroud)