Eigenschaft mit Parameter

8

Ich habe etwas seltsam in VB.NET, nie zuvor bemerkt ...

Ich habe eine Klasse in VB.NET mit einer Eigenschaft mit Parameter und möchte diese Eigenschaft in anderen C # verwenden Klasse indem ich ein Objekt der VB.NET-Klasse mache, aber das Klassenobjekt diese Eigenschaft nicht zeigt, kann mir jemand sagen, ob ich auf diese Eigenschaft in C # zugreifen kann oder nicht.

  • Wenn ja, wie?
  • Wenn nein, was bedeutet CLR?

Hier ist mein Code ...

%Vor%

Hinweis: Ich kann den VB.NET-Code nicht ändern, da es eine kompilierte DLL ist.

Vielen Dank im Voraus

    
ANKIT 21.12.2011, 22:59
quelle

3 Antworten

10

Parametrisierte Eigenschaften werden in get_ und set_ Methoden konvertiert.

%Vor%     
Hand-E-Food 21.12.2011, 23:07
quelle
6

C # unterstützt keine indizierten Eigenschaften, die nicht über das Standardschlüsselwort verfügen. Sie verwenden einfach get_AsString (), um den Eigenschaften-Getter aufzurufen, und set_AsString (), um den Setter aufzurufen. Methoden, keine Eigenschaften. Sie sollten in der IntelliSense-Liste angezeigt werden.

Beachten Sie auch, dass set_AsString () zwei Argumente benötigt, obwohl Sie den Property-Setter nicht indiziert haben. Übergeben Sie alles, null wird tun.

Fwiw, das ist vielleicht ein Beispiel dafür, warum das C # -Team entschieden hat, indexierte Eigenschaften im allgemeinen Fall nicht zu unterstützen. Das Missverhältnis zwischen dem Getter und dem Setter ist schmerzhaft. Das vb.net Team hatte keine Wahl, Visual Basic hatte sie schon lange bevor .NET auf den Markt kam. In C # Version 4 wurde ein teilweises Comeback durchgeführt, indizierte Eigenschaften werden jedoch auf COM-Schnittstellen unterstützt. COM-Interop-Programmierung ist ohne sie zu schmerzhaft. Besonders im Office-Objektmodell.

    
Hans Passant 21.12.2011 23:15
quelle
0

Wenn Sie tatsächlich bemerkt haben, dass es zwei Parameter in Ihrer Eigenschaft gibt, ist der Name Ihres Benutzers und anderer ist der Standardwert, also müssen Sie zwei Parameterwerte angeben, wenn Sie damit arbeiten

    
Kishore Kumar 22.12.2011 09:08
quelle

Tags und Links