J'ai stocké dans un tableau les types de 2 objets que je passe en argument. J'essaie de les convertir dans une boucle mais cela ne semble pas fonctionner.
J'ai remarqué en déboguant que la valeur du Type de l'objet (retourné par key.GetType()), affiche Name=RunTimeType FullName=System.RuntimeType
au lieu du Name=Label
attendu.
Je ne suis pas sûr de ce que je fais de mal. Des suggestions?
public static void GetUserGUIDandSID(string username, Object b, Object c) {
PrincipalContext ctx = new PrincipalContext(ContextType.Domain,
"domainName.com");
UserPrincipal user = (UserPrincipal.FindByIdentity(ctx, username));
var empIdNum = user.Guid.Value;
var empSID = user.Sid.Value;
List types = new List();
types.Add(b.GetType());
types.Add(c.GetType());
foreach(var key in types) {
if (key.GetType() == typeof(Label)) {
((Label)b).FontSize = 10;
((Label)b).Content = empIdNum;
}
if (key.GetType() == typeof(TextBox)) {
((TextBox)b).FontSize = 10;
((TextBox)b).Text = empIdNum.ToString();
}
if (key.GetType() == typeof(TextBlock)) {
((TextBlock)b).FontSize = 10;
((TextBlock)b).Text = empIdNum.ToString();
}
}
}