Mise à jour Désolé. Je ne voulais pas dire que toute la bibliothèque de réflexion était interdite. Je voulais juste dire le truc incroyablement lent * .Invoke().C# Property System
Salut,
je dois mettre en place un système de propriété en C# qui permet à la fois accès à la propriété normale
[property_attribute()]
return_type Property { get; set; }
et l'accès par chaîne
SetProperty(string name, object value);
object GetProperty(string name);
Cependant,
- Je ne veux pas enregistrer chaque propriété individuellement.
- Je ne veux pas utiliser la réflexion
- Je ne veux pas accéder aux propriétés à travers un dictionnaire (pas de
PropertyTable["abc"]=val;
)
Ce schéma est nécessaire pour un système informatique de cluster où je avoir à définir les propriétés à distance et localement. Toutes les propriétés auront un attribut personnalisé qui sera lu à l'initialisation. J'espère obtenir des performances d'exécution constantes.
Actuellement, mon idée est d'avoir une analyse syntaxique analyseur/de preprocesser personnalisé/compiler les scripts en cours d'exécution et de générer l'ensemble/obtenir le code comme suit:
object GetProperty(string name)
{
if(name = "blah")
return Property1;
...
}
...
Cependant, je ne serai pas en mesure de débogage le code avec ce schéma. Quelqu'un peut-il penser à une solution?
Merci
Pas si vous supprimez toutes les options. –
Il y a beaucoup d'options qu'il n'a pas éliminées, la plupart impliquant certaines sortes de génération de code. – LorenVS