J'ai quelques classes:Parsing une classe pour fonctionner comme un argument
public class clsAnimal
{
public int ID { get; set; }
public string Strain { get; set; }
}
public class clsHybridom
{
public int ID { get; set; }
public string Haplo { get; set; }
}
Ces cours sont instanciés en session:
Session["clsAnimal"] = new clsAnimal();
et accédés comme (si elles existent meilleure méthode, s'il vous plaît laissez-moi savoir):
((clsAnimal)Session["clsAnimal"])
Il y a beaucoup de classes comme ces deux, j'ai un commutateur et demande classe instanciation requise . La classe Instanced doit être analysée en MyFunction.
Il est public static class avec des fonctions utilisées dans le projet entier et dans cette classe devrait être ma fonction MyFunction
Mais hélas! Je ne sais pas comment analyser ces classes en fonction MyFunction
Mon essai était quelque chose comme:
ASMX:
object ReturnObject;
Session["clsAnimal"] = new clsAnimal();
ReturnObject = Activator.CreateInstance(((clsAnimal)Session["clsAnimal"]));
return clsDataProc.MyFunction(ReturnObject);
public static class:
public static string MyFunction(object o)
{
return Do_Some_Evil_Things_With_Parsed_Class();
}
Il est évident que cela ne va pas se produire parce que:
- ne peut pas convertir 'clsAnimal' à 'System.Type'
- Le match de la meilleure méthode surchargée pour 'System.Activator.CreateInstance (System.Type, params objet [])' a quelques arguments invalides
Longue histoire courte: comment analyser classe instanciée en chaîne statique publique MyFunction?
Pourquoi passer ne vous pas le typeof (clsAnimal) en tant que second paramètre de votre xmlserializer? –
Et pourquoi ne pas arrêter de préfixer toutes les classes avec 'cls'? Être une classe n'est pas une chose si spéciale que vous devez préfixer toutes les classes, juste pour vous rappeler qu'elles sont des classes. –
D'accord avec JohnSaunders, avec des IDE modernes dans les langages de programmation sécurisés. Notation hongroise est ridicule, encore plus sur ** types ** ... – Bas