Есть класс типа этого:
public class CeplerElements
{
public CeplerElements() { r = new double[6]; }
public CeplerElements(ref double[] array) { this.r = array; }
public double a
{
get { return r[0]; }
set { r[0] = value;}
}
}
Есть WindowsForms типа этого:
public partial class ControlResultCorrection : UserControl
{
public ControlResultCorrection()
{
InitializeComponent();
DataBindings.DefaultDataSourceUpdateMode = DataSourceUpdateMode.Never;
}
public double a
{
set { labelAValue.Text=value.ToString("0.0##"); }
}
public Object DataSource {
get { return m_source; }
set
{
DataBindings.Clear();
m_source = value;
if (m_source == null)
return;
var propertyDict = new Dictionary<string, PropertyInfo>();
PropertyDescriptorCollection propCollection = getSourcePropCollections(m_source);
var thisProps = this.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly);
for (int i = 0; i < thisProps.Length; ++i)
{
var name = thisProps[i].Name;
if (thisProps[i].CanWrite && DataBindings[name] == null && propCollection.Find(name, false) != null)
DataBindings.Add(name, m_source, name);
}
}
}
При связывании вылетает исключение: "Привязка к свойству \"a\" конечного элемента управления невозможна."
В чем причина я не понимаю, а в яндекс видимо не тот вопрос задаю.