目前我所拥有的代码是生成类似的属性
private int integerProperty
{
get
{
return integerField;
}
set
{
integerField = value;
}
}
Run Code Online (Sandbox Code Playgroud)
我希望这些属性很简单......
private int integerProperty
{
get;
set;
}
Run Code Online (Sandbox Code Playgroud)
我和我的代码是
CodeMemberProperty property1 = new CodeMemberProperty();
property1.GetStatements.Add(new CodeMethodReturnStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "integerField")));
property1.SetStatements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "integerField"),new CodePropertySetValueReferenceExpression()));
type1.Members.Add(property1);
Run Code Online (Sandbox Code Playgroud)
有人请帮忙.提前致谢.
Wou*_*ort 13
正如Botz3000所说,这是正式的不可能.但是,通过以下hack,您可以实现它:
var field = new CodeMemberField
{
Attributes = MemberAttributes.Public | MemberAttributes.Final,
Name = "MyProperty",
Type = new CodeTypeReference(typeof(MyType)),
};
field.Name += " { get; set; }";
Run Code Online (Sandbox Code Playgroud)
通过附加{ get; set; }
到字段名称,它将在实际源代码中生成属性.
归档时间: |
|
查看次数: |
4501 次 |
最近记录: |