TDM Geschrieben 14. April 2009 Geschrieben 14. April 2009 Grüße, ein Vorteil von VB.Net ist, dass man Properties mit Parametern aufrufen kann, z.B.: Public Property Mx(ByVal unit As MeasurementUnit(Of PointMoment)) As Double Get Return _Mx(unit) End Get Set(ByVal value As Double) If _Mx(unit) <> value Then _Mx(unit) = value OnPropertyChanged("Mx") End If End Set End Property Was genau hinter den Variablen steckt, ist egal, nur ein Beispiel... Daher frag ich mich, ob sowas auch mit C# gehen würde. Ich hab schon rausgefunden, dass es mit der Default-Property geht: public interface IGeometryHeigth : IGeometry { double this[string unit] {set;} } jetzt ist nur die Frage, wenn ich eine Instanz hab, kann ich in dieser Klasse auch andere Properties (keine überladene default-Property) deklarieren, die auch Parameter verwendet? public interface IGeometryHeigth : IGeometry { double this[string unit] {set;} double Value1[string unit] { set; } } ... mag mein Compiler irgendwie nicht: Bad array declarator: To declare a managed array the rank specifier precedes the variable's identifier. To declare a fixed size buffer field, use the fixed keyword before the field type. Array size cannot be specified in a variable declaration (try initializing with a 'new' expression) Invalid expression term 'string' Invalid token ']' in class, struct, or interface member declaration Invalid token ';' in class, struct, or interface member declaration Type or namespace definition, or end-of-file expected Bin dankbar für Vor- oder Abschläge. :hells: Zitieren
el programador Geschrieben 15. April 2009 Geschrieben 15. April 2009 (bearbeitet) Hallo TDM, in C# ist es - mit Ausnahme des Default-Properties - nicht möglich, Properties mit Parametern aufzurufen. Über eine kleine Hintertür lässt es sich dennoch erreichen (kann man von halten, was man will...): http://stackoverflow.com/questions/236530/using-the-typical-get-set-properties-in-c-with-parameters/236860#236860 Bearbeitet 15. April 2009 von el programador Zitieren
TDM Geschrieben 15. April 2009 Autor Geschrieben 15. April 2009 Danke für die Bestätigung, dachte mir schon, dass sowas nicht geht. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.