Mit Blick auf die Beispiel-Code auf MSDN schreiben:CodeDOM Mit VB.Net Eigenschaften
Diese
' Declares a type.
Dim type1 As New CodeTypeDeclaration("Type1")
' Declares a constructor.
Dim constructor1 As New CodeConstructor
constructor1.Attributes = MemberAttributes.Public
type1.Members.Add(constructor1)
' Declares an integer field.
Dim field1 As New CodeMemberField("System.Int32", "integerField")
type1.Members.Add(field1)
' Declares a property.
Dim property1 As New CodeMemberProperty
property1.Name = "integerProperty"
property1.Type = New CodeTypeReference(GetType(Integer))
' Declares a property get statement to return the value of the integer field.
property1.GetStatements.Add(New CodeMethodReturnStatement(New CodeFieldReferenceExpression(New CodeThisReferenceExpression, "integerField")))
' Declares a property set statement to set the value to the integer field.
' The CodePropertySetValueReferenceExpression represents the value argument passed to the property set statement.
property1.SetStatements.Add(New CodeAssignStatement(New CodeFieldReferenceExpression(New CodeThisReferenceExpression, "integerField"), New CodePropertySetValueReferenceExpression))
type1.Members.Add(property1)
Dim dump As New VBCodeProvider
Dim gen As Compiler.ICodeGenerator = dump.CreateGenerator
Dim opt As New Compiler.CodeGeneratorOptions
gen.GenerateCodeFromType(type1, Console.Out, opt)
erzeugen sollte
Public Class Type1
Private integerField As Integer
Public Sub New()
MyBase.New()
End Sub
Private Property integerProperty() As Integer
Get
Return Me.integerField
End Get
Set(ByVal Value As Integer)
Me.integerField = value
End Set
End Property
End Class
Aber ich sehe es nicht zu erzeugen, um den Parameter zur Set-Methode, also Ich bekomme:
Set
Me.integerField = value
End Set
Da ich bereits in Bits zum Beispiel Code hinzuzufügen hatte tatsächlich die Eigenschaft zu nennen, ihrem Beispiel Ausgabe übereinstimmen, vermute ich, dass es ein Detail fehlt, dass dies verursacht, aber ich kann scheinst du es aufzuspüren? Während der Code kompiliert, kann ich die Eigenschaften nicht verwenden, ohne die Parameter manuell hinzuzufügen, was den Zweck etwas zunichte macht. Irgendeine Idee, was fehlt?