silverlight:如何在POCO类属性中实现动态对象创建?

时间:2011-12-23 19:22:06

标签: silverlight wcf wcf-ria-services

我们将数据模型从WPF移植到Silverlight。在WPF方面,数据模型的每个元素都支持动态初始化,因此我们不必担心任何簿记。例如:

public UnitNameClass UnitName
{
    get
    {
        if ((this.unitNameField == null))
        {
            this.unitNameField = new UnitNameClass();
        }
        return this.unitNameField;
    }
    set
    {
        if (((this.unitNameField == null) 
                    || (this.unitNameField.Equals(value) != true)))
        {
            this.unitNameField = value;
            this.OnPropertyChanged("UnitName"));
        }
    }
}

从代表数据模型的XSD为我们生成了大多数类。我们添加了一些其他扩展类,这些扩展类不在XSD文件中。

Silverlight为其代理类生成以下格式的属性:

public UnitNameClass UnitName
{
    this.OnCreated();
}

public UnitNameClass UnitName
{
    get
    {
        return this._unitName;
    }
    set
    {
        if ((this._unitName != value))
        {
            this.OnUnitNameChanging(value);
            this.RaiseDataMemberChanging("UnitName");
            this.ValidateProperty("UnitName", value);
            this._unitName = value;
            this.RaiseDataMemberChanged("UnitName");
            this.OnUnitNameChanged();
        }
    }
}

显然,我们打算在OnCreated部分函数中初始化所有属性,但我们更愿意在get属性中添加一些逻辑。

以前有没有人遇到过这个问题?

0 个答案:

没有答案