Spørgsmål til MCTS70-536 bogen kapitel 1 Case Scenario - omkring en generic metode.
I Case Scenario 1, på side 64.Er der følgende spørgsmål:
"One of the tasks your application will perform is generating mailing labels for groups of subscribers or doctors. Is there any way that you can write a single method that will handle addresses for both subscribers and doctors? How will you immplement this?"
Svaret i Answers sektionen er:
"Yes, you can use generics to create a method that can accept both subscribers and doctors. To access the information in the base class that both classes share, you need to make the base class a constraint for the generic method."
Mit spørgsmål er så følgende, jeg er udemærket godt klar over at man skal undgå boxing/unboxing pga det unødvendige overhead, men jeg gættede nemlig forkert på denne opgave.
Mit svar var dette:
private static void PrintInfoCast(Person _p)
{
Console.WriteLine(_p.Name);
}
Og den rigtige løsning må være noget lig dette:
private static void PrintInfoGeneric<T>(T _t)
where T : Person
{
Console.WriteLine(_t.Name);
}
Er der en der kan forklare mig hvorfor en generisk metode er det rigtige svar i dette sammenhæng?