La construction de Propriétés Dynamiques lors de l'Exécution dans visual basic .NET
Est-il un moyen de créer dynamiquement des propriétés au moment de l'exécution dans visual basic .NET en utilisant l'introspection?
par exemple, Supposons que j'ai eu une classe
Public Class Foo
Public Property Bar() As String
get
...
end get
set(ByVal value As String)
...
end set
End Class
Est-il un moyen de créer de la Barre de propriétés au moment de l'exécution?
Merci!
OriginalL'auteur Larry Watanabe | 2009-09-15
Vous devez vous connecter pour publier un commentaire.
La réponse est De la réflexion.Émettre. Pas beaucoup de plaisir à code, mais est-ce que vous voulez.
OriginalL'auteur Chris McCall
Si vous voulez juste une liste dynamique des variables, vous pouvez toujours configurer un objet dictionary comme un membre de votre classe, puis de définir ou obtenir un particulier élément de dictionnaire avec une méthode.
OriginalL'auteur Robert Harvey
Ajout à la suite de mon commentaire, vous pouvez ajouter un indexeur de votre classe - ce qui peut vous permettre d'obtenir/définir la variable membre.
EDIT: je suis désolé. Je ne savais pas que vb.net n'a pas indexeurs.
Mais on peut encore écrire du code avec l'appui du dictionnaire, qui peut fonctionner comme un indexeur
OriginalL'auteur shahkalpesh
Malheureusement, il n'existe aucun moyen de les faire modifier la structure d'une classe à un moment de l'exécution. Métadonnées est fixé au moment de la compilation et exécute inchangée lors de l'exécution.
Pour le Nitpickers 🙂
Ce n'est pas vrai à 100%. Le profilage et ENC Api vous permettent de modifier la structure de métadonnées lors de l'exécution. Mais ils ne sont pas vraiment applicable pour ce scénario.
OriginalL'auteur JaredPar