4

有什么方法可以在我的从 xsd 生成的类文件中获取自动属性?我正在使用 Xsd2code 并尝试了以下命令。

c:\xsd2code  q2test.xsd /n ContractXml /pl Net35 /ap[+] /xa[+]

它不会生成自动属性。它会生成如下内容:

        public string AssetHdrId {
            get {
                return this.assetHdrIdField;
            }
            set {
                this.assetHdrIdField = value;
            }
        }

private string assetHdrIdField;

我想要一些简单的东西,比如公共字符串 AssetHdrId{get;set;}

我的班级中有大约 355 个属性,我想在手动更改每个属性之前先询问一下。

4

1 回答 1

1

这个答案很晚,但如果您希望使用 xsd2Code 为不包含支持字段的类生成属性,则可能对其他人有用。首先,让我们定义一个支持字段。C# .net 2.0 中的默认属性是使用私有变量和公共属性创建的(其中 C# 关键字值是传入的字符串值):

private string _loanId;
public string LoanId
{
    get{ return _loanId; }
    set{ _loanId = value; }
}

这是非常冗长的,正如问题海报所描述的那样,真的会让一个班级膨胀。在 C# 3.0 中,这发生了变化,并且可以在没有支持字段的情况下创建属性:

public string LoandId { get;set; }

我使用了 xsd2Code++ V 4.2... 并且能够设置选项以在没有支持字段的情况下启用属性创建。
按着这些次序:

  1. 安装XSD2Code++XSD2Code 社区版
  2. 右键单击 .xsd 文件
  3. 在选项面板中,将 Application -> Target Framework 设置为 Net45
  4. 在选项面板中,将 Settings -> PropertyParams -> Automatic Properties 设置为 true。

如果您设置了自动更新,您将看到支持属性消失,并留下一个不那么冗长的类。您也可以单击“生成”按钮查看效果。

干杯!

于 2017-03-21T15:23:36.707 回答