Ich habe ein System für mehrere Sprachen, und alle über den Ort Ich habe, was ich in jeder Klasse „Wrapper Eigenschaften“ aufrufen, wie zB:.NET 4, Kann ich Attribute oder eine andere OOP-Funktion verwenden, um diesen Code zu vereinfachen?
Public Property Name(Optional ByVal ForceLanguageCode As String = Nothing) As String
Get
Return Translations.GetByCode(Me.EntityID, "name", ForceLanguageCode)
End Get
Set(ByVal value As String)
Translations.SetByCode(Me.EntityID, "name", value, ForceLanguageCode)
End Set
End Property
würde ich dann für jeden übersetzbar diesen Code kopieren und einfügen Feld.
Ich hoffe, dass ich das mit einer Codezeile irgendwie ersetzen kann, mit einer Klasse. Die einzige Sache, die sich jedes Mal ändert, ist der Name des Feldes, wie "Name", "Titel" oder "Thema", etc. Das scheint ein bisschen eine Verschwendung und ich möchte, dass mein System so einfach zu bedienen ist wie möglich für Entwickler.
habe ich einige der Forschung in Attribute, aber ich glaube nicht, dass meine Antwort wie:
1) Ich weiß nicht, wie automatisch die Objekte instanziiert, zumal dies erstreckt, um eine LINQ Einheit, in der Die neue() Signatur wird bereits von der DBML generiert. Meine derzeitige Technik verwendet statische Funktionen.
2) Die "EntityID" ist Echtzeit-Informationen, nicht Kompilierzeit.
Kann jemand vorschlagen, wie ich dieses Durcheinander aufräumen könnte?
Entschuldigung für die sehr spät akzeptieren. Ich würde mir vorstellen, dass, wenn ich versuche, mein Problem zu lösen, zu verstehen, wie MVCs TryUpdateModel funktioniert, dies scheint auch durch die Eigenschaften in irgendeiner Weise zu gehen und sie nach Attributen usw. zu überprüfen. Wird in der MVC-Quelle herumstochern. –