J'ai vu beaucoup de questions posées sur l'instanciation de classes à partir d'une chaîne, mais je n'ai trouvé aucune information sur la création d'une structure de la même manière.Création d'une structure à partir d'une chaîne en C#
J'ai une classe qui contient une structure comme ceci:
Public Structure callDetails
Public GUID As Guid
Public ringTime as Date
Public CBN As String
etc.
Tout ce que je veux vraiment faire est d'obtenir les noms des champs de la structure. Je ne me soucie pas de manipuler les données dans les champs.
Jusqu'à présent, je peux me rapprocher de cela.
callDetails callTableDef= new callDetails();
Type tableType = callTableDef.GetType();
object tableStruct = (object)Activator.CreateInstance(tableType);
System.Reflection.FieldInfo[] fields = tableType.GetFields();
foreach (System.Reflection.FieldInfo field in fields)
Debug.WriteLine(field.Name + " = " + field.GetValue(tableStruct));
Cependant, j'ai encore besoin de créer une instance de la structure avec le nom réel. Je veux être en mesure de passer dans une chaîne comme ceci:
Type tableType = System.Type.GetType("callDetails");
Quand je fais ce que je reçois un ArgumentNullException de Activator.CreateInstance()
est-ce pas getType censé rechercher la valeur passée à comme une chaîne et le retour du type?
Je suis nouveau en C# ayant programmé principalement en Java jusqu'à ce projet.
PascalCase !!!!!! – Will