2
鑑於以下兩類,我如何將 轉換爲
List<Person>
爲List<Person2>
?如何將適配器模式應用於集合?
編輯:這是一個捏造的例子。我試圖做的一點是我不能修改Person
類,而當我們實例化List<Person2>
時,我們會知道arbitraryNumber
。我知道你們很多人會發現這個令人難以置信的,但是這個代碼將被部署到Windows-Server-2000計算機,這意味着它必須與.NET 2.0一起工作。 [是的 - 我覺得這是令人難以置信的。]
public class Person
{
private string _lastName;
public string LastName
{
get { return _lastName; }
set { _lastName = value; }
}
private string _firstName;
public string FirstName
{
get { return _firstName; }
set { _firstName = value; }
}
}
public class Person2 : Person
{
private readonly int _arbitraryNumber;
public Person2(int arbitraryNumber)
{
_arbitraryNumber = arbitraryNumber;
}
public string FullName
{
get
{
return String.Format("{0}, {1} - {2}", LastName, FirstName, _arbitraryNumber);
}
}
}
是你做這樣的轉換有什麼問題?這似乎是一件簡單的事情,所以我想知道你有什麼困難。 – Oded 2010-11-27 16:34:43
Person2對我來說不像一個適配器。 Person2應該包含Person的一個實例。也許通過擁有Person字段並在構造函數中接受Person。 – 2010-11-27 16:36:08