Comment faire pour retourner un objet générique à partir d'une méthode en C#

J'ai un problème similaire à cette question seulement, je ne suis pas d'apprentissage génériques veux donc une solution pratique et ma méthode est de retour plus qu'un int ou un double.

J'ai une fonction qui peut retourner un objet (à partir d'un ensemble de classes qui ne sont pas liés les uns aux autres), basée sur la saisie de l'utilisateur.

Par exemple si j'ai deux classes suivantes

public class A
{
}

Et

public class B
{
}

Et ma méthode est la suivante:

public Object getObject(int objType)
{
    //return appropriate object based on objType (1==A, 2==B);
}

Je peux utiliser des énoncés comme if (getObject(int objType) is A) dans mon code, mais qui nécessitent beaucoup de if des déclarations qui n'est pas une bonne solution (à mon humble avis).

Donc je suis à la recherche d'une meilleure solution de conception pour résoudre ce problème. Toutes les suggestions s'il vous plaît?

MODIFIER

Je vais devoir utiliser l'objet retourné depuis un certain temps et peut-être aussi besoin de la passer à un autre mode ou de renvoyer une référence de. Donc attendu à un déplacement de cet objet. Veuillez garder à l'esprit tout en suggérant une approche pour résoudre ce problème.

  • Si vous êtes en utilisant .net version 4.0 ont un look dynamique :hanselman.com/blog/...
  • Si le problème est ce que votre code d'appel doit faire avec object, alors pouvez-vous fournir plus d'informations sur exactement comment A et B sont utilisés, et comment ils les mêmes qu'ils sont?
InformationsquelleAutor user601134 | 2011-02-14