Compte tenu d'une interface simpleComment instancier un objet d'interface avec l'implémentation transmise à la méthode actuelle en C#?
public interface IIdTracker
{
int Id { get; }
}
et moi avons deux classes qui l'implémente
public class human : IIdTracker
{
public int Id { return 0; }
}
public class robot : IIdTracker
{
public int Id { return 1; }
}
Comment puis-je instancier quelle que soit la classe qui est passé comme IIdTracker sans aucune connaissance de qui ou quoi met en œuvre IIdTracker ?
public void TrackId(IIdTracker idt)
{
// this is the code I am not sure of
var being = new idt.GetType();
}
Avez-vous besoin d'une nouvelle instance d'un 'IIdTracker'? Vous avez * déjà * une instance dans 'idt'. –
Oui, je voulais séparer IIdTracker, mais je voulais le type qui est passé po –
Vous pourriez être en mesure de créer une nouvelle instance avec réflexion (ou via une nouvelle contrainte générique), mais voulez-vous qu'il retourne la même valeur Id? –