10. juni 2006 - 11:12Der er
8 kommentarer og 2 løsninger
Kan en metode returnere forskellige typer ?
Hej..
Jeg er lidt grøn i C#.
Jeg har en metode der returnere en scalarvalue fra en database..:
/// <summary> /// Getting string from database /// </summary> /// <param name="Odbc">SQL to be executed</param> /// <returns>DataTable</returns> public object getScalarValue(string Odbc) { //initializing object o = new object();
userExcist = System.Convert.ToInt32(createUserDB.getScalarValue("SELECT Count( * ) AS userNumber FROM `Users` WHERE username '" + userName.Text + "'"));
Men får følgende fejl: "Detaljer om undtagelse: System.InvalidCastException: Et objekt af typen 'System.Object' kan ikke konverteres til typen 'System.IConvertible'."
i linie : Linje 36: userExcist = System.Convert.ToInt32(createUserDB.getScalarValue("SELECT Count( * ) AS userNumber FROM `Users` WHERE username '" + userName.Text + "'"));
Så sprøgsmålet lyder på.. kan man i min getscalarvalue metode, teste hvilken type execute.scalarvalue returnere, og returnere den, uden at skulle converterer den til en given type..
altså hvis ex det er en bool kan jeg så få min metode til at returnere en bool og ikke et object ?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
> Så sprøgsmålet lyder på.. kan man i min getscalarvalue metode, teste hvilken type execute.scalarvalue returnere, og returnere den, uden at skulle converterer den til en given type.. > > altså hvis ex det er en bool kan jeg så få min metode til at returnere en bool og ikke et object ?
Nej, det er ikke muligt. Du får simpelthen en compile-fejl hvis du laver noget i stil med:
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.