Classe Dynamique et Mot Clé Dynamic
Bonsoir,
J'ai un petit problème avec le mot clé dynamique :?
Je créer une classe dynamiquement, comme ceci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| var asm = AppDomain.CurrentDomain.DefineDynamicAssembly(new AssemblyName("DynAsm"), AssemblyBuilderAccess.Run);
var mod = asm.DefineDynamicModule("DynMod");
var type = mod.DefineType("DynType");
var ttt = type.DefineField("DynField", typeof(string), FieldAttributes.Public);
var ctor = type.DefineConstructor(MethodAttributes.Public, CallingConventions.Standard, Type.EmptyTypes);
var il = ctor.GetILGenerator();
il.Emit(OpCodes.Ret);
var t = type.CreateType();
dynamic k = Activator.CreateInstance(t); |
On a donc un objet k de type "DynType" et qui dispose d'un champ "DynField".
Malheureusement, l'accès au champ entraîne une RuntimeBinderException.
Code:
var result = k.DynField;
Et l'erreur :
Citation:
'object' ne contient pas de définition pour 'DynField'
Le mot clé 'dynamic' est t'il donc inutilisable sur les types crées dynamiquement :calim2: ?