La première condition est fournie, mais les modifications ne peuvent pas être transférées lorsque je ne peux pas me référer aux paramètres de la deuxième condition. Malheureusement, le mot clé ref ne peut pas être utilisé avec des paramètres. Sinon, comment puis-je fournir ces deux opérations?Méthode de nettoyage dynamique
internal static void Clear(params dynamic[] ctrl)
{
for (int i = 0; i < ctrl.Length; i++)
if (ctrl[i].GetType().GetProperty("Text") != null)
ctrl[i].Text = "";
else if (ctrl[i] is string)
ctrl[i] = "";
}
Exemple:
Après un enregistrement, je veux supprimer les valeurs dans les zones de texte avec une seule méthode. Utilisation:
Clear (txtName, txtsurn average, txtPhone, txtAddress);
La méthode effacera si elle trouve la propriété de texte dans les paramètres. Cette partie fonctionne très bien. Si une variable est utilisée pendant l'utilisation d'un objet, les nouvelles valeurs affectées à la variable resteront dans la méthode car nous n'obtenons pas de référence. Cette section ne peut pas bien faire le travail, alors je cherche une solution. Utilisation: Considérez les paramètres suivants comme des variables de type chaîne.
Clear (Name, Surname, Phone, Address);
Ce code fonctionnera mais n'attribuera pas de nouvelles valeurs aux variables.
Ce que vous demandez n'est pas très clair. Quel est le but de ce code? Qu'est-ce que vous essayez d'atteindre et à quel problème vous êtes confronté? S'il vous plaît fournir quelques détails concrets. –
Si j'obtiens un objet en tant que paramètre, effacez-le si la propriété Text existe. Si l'objet n'a pas de propriété Text, effacez la chaîne. Exemple: Clear (txtName, txtSurname, txtPhone); – Emre
Veuillez le lire en premier. Quand vous ne comprenez pas, ne votez pas négatif. – Emre