La méthode SetFields dans la classe fieldInfo accepte les objects en tant que premier paramètre. Existe-t-il un moyen de changer la valeur des champs statiques en lecture seule à l’aide de la reflection en C #? Jusqu’ici j’ai var field = typeof(ClassName).GetField(“FieldName”,BindingFlags.Instance|BindingFlags.NonPublic);
Tout en jouant avec c #, réalisé une chose étrange. Voici le code: class Program { static void Main(ssortingng[] args) { System.Diagnostics.Debug.Write(ssortingng.Empty); typeof(ssortingng) .GetField(“Empty”, BindingFlags.Static | BindingFlags.Public) .SetValue(null, “Tolgahan”); Console.WriteLine(ssortingng.Empty); // output : Tolgahan } } Pourquoi la reflection nous a-t-elle permis de modifier les champs en lecture seule? La question est “pourquoi le réglage […]
Venant d’un contexte C ++ et essayant d’apprendre le C #, l’une des omissions de langage les plus frustrantes que j’ai rencontrées est l’équivalent du mot clé const . Donc, j’ai essayé de régler sur un modèle que je peux utiliser pour obtenir la correction correcte en C #. Cette réponse a une suggestion intéressante: […]
Pour une raison quelconque, j’ai toujours supposé que les champs en readonly étaient associés à une surcharge, ce que je pensais être le CLR qui surveillait si un champ en readonly avait été initialisé ou non. La surcharge ici consisterait en une utilisation de mémoire supplémentaire permettant de suivre l’état et un contrôle lors de […]
Sans expliquer le contexte dans son ensemble, mon problème est essentiellement le suivant: J’ai un datagridview sur un Windows Form qui est lié à un DbSet Entity Framework: dbSet.Local.ToBindingList() . Si je définis la propriété ReadOnly de datagridview sur true (en mode Création), puis que j’ai cette déclaration dans mon code: myDataGridView.Rows[rowIndex].ReadOnly = false; Il […]
J’ai une variable de type référence qui est en readonly , car la référence ne change jamais, seulement ses propriétés. Quand j’ai essayé d’y append le modificateur volatile le compilé m’a averti qu’il ne laisserait pas les deux modificateurs s’appliquer à la même variable. Mais je pense en avoir besoin pour être volatile car je […]
J’ai la classe suivante: class SampleClass { private ArrayList mMyList; SampleClass() { // Initialize mMyList } public ArrayList MyList { get { return mMyList;} } } Je veux que les utilisateurs soient capables d’obtenir mMyList, c’est pourquoi j’expose le “get” via une propriété, mais je ne veux pas que les modifications qu’ils apportent soient apscopes […]
Mise à jour : Cette question a été révisée pour la rendre plus claire. Les réponses ci-dessous semblent indiquer que cette méthode fonctionne bien. Espérons que cette question puisse aider les personnes ayant besoin d’append un get ou un set à une propriété existante. Je suis tombé sur un problème aujourd’hui où je devais redéfinir […]
J’ai le code suivant : public class MyClass { private readonly ssortingng name; public ssortingng Name { get { return name; } } public MyClass(ssortingng name) { this.name = name; } } class Program { static void Main(ssortingng[] args) { MyClass mc = new MyClass(“SomeName”); } } Est-il possible de modifier la valeur de mc.name […]
J’ai vu des questions similaires mais aucune des réponses ne m’a aidé à résoudre ce problème. J’ai GridView avec un champ ReadOnly comme suit. GridView: comme vous pouvez le voir, le prID BoundField a Readonly=True atsortingbut. J’essaie d’obtenir la valeur du prID dans code-behind lorsque l’utilisateur met à jour les autres champs de la ligne. […]