18. juli 2005 - 16:26Der er
12 kommentarer og 1 løsning
Specified cast is not valid ved nedarvning af metode
Jeg har nogle core klasser som jeg ønsker at udvide med nogle ekstra properties. Der for har jeg oprettet nogle custom klasser som arver fra core klasserne. Men der opstår et problem, som jeg ikke ved hvordan man løser. Her er koden:
namespace ClassTest.Core { public class UserInfo { ... public string FirstName { ... }
public string LastName { ... } } }
namespace ClassTest.Core { public class UserController { ...
public UserInfo GetUser() { UserInfo ui = new UserInfo(); ui.FirstName = "King"; ui.LastName = "Kong";
return ui; } } }
namespace ClassTest.Custom { public class UserInfo: ClassTest.Core.UserInfo { ...
public string CompanyName { ... } } }
namespace ClassTest.Custom { public class UserController: ClassTest.Core.UserController { public UserController() { }
public new UserInfo GetUser() { -> UserInfo ui = (UserInfo) base.GetUser(); ui.CompanyName = "Test123";
return ui; } } }
I linien med -> for jeg en Specified cast is not valid.
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.
ClassTest.Core.UserInfo ui = (ClassTest.Core.UserInfo) base.GetUser(); giver samme resultat.
UserInfo ui = new UserInfo(base.GetUser()); har jeg også tænkt på, men så opstår samme problem i constructor'en. Og jeg vil helst slippe for at kopiere hver enkelt property.
de Core klasser er tilsyneladende ikke lavet med arv for øje
og svar
Synes godt om
Ny brugerNybegynder
Din løsning...
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.