呃,我該如何解釋這一個......可能是一個簡單的問題,但我的腦子被炸了。如何使用C#在.Net中的類型化對象列表中選擇對象屬性的所有值0123#
假設我有這個類:
public class NestedObject
{
public string NestedName { get; set; }
public int NestedIntValue { get; set; }
public decimal NestedDecimalValue { get; set; }
}
public class SomeBigExternalDTO
{
public int Id { get; set; }
public int UserId { get; set; }
public int SomeIntValue { get; set; }
public long SomeLongValue { get; set; }
public decimal SomeDecimalValue { get; set; }
public string SomeStringValue { get; set; }
public NestedObject SomeNestedObject { get; set; }
// ... thousands more of these properties... inherited code
}
而且我想填充類是在這裏:
public class MyResult
{
public int UserId { get; set; } // user id from above object
public string ResultValue { get; set; } // one of the value fields from above with .ToString() executed on it
}
我想要做的就是創建一個幫助返回對象列表中的所有實例的屬性值(橫截面是我可以描述的最佳方式):
var foo = new List<SomeBigExternalDTO>();
foo = GetMyListOfSomeBigExternalDTO();
public static List<MyResult> AwesomeHelper(List<SomeBigExternalDTO> input, SearchableProperty thePropertyIWant)
{
// some magic needs to happen here...
}
這裏最棘手的部分是我想在房地產動態傳遞基於鏈路選擇(我不知道如何做到這一點):
var output = AwesomeHelper(GetMyListOfSomeBigExternalDTO(), x => x.SomeIntValue);
var output2 = AwesomeHelper(GetMyListOfSomeBigExternalDTO(), x => x.SomeNestedObject.NestedIntValue);
,應返回MyResult的列表,用戶ID對象和SomeIntValue.ToString()對應於輸入列表中的每個項目。
哇,我真的希望這是有道理的。請讓我知道,如果這不清楚,我會提供更多的細節。我真的希望這是我忽視的圖書館中的東西。
我的任何想法都可以做到這一點?
感謝大家的回答!請檢查我的後續問題在這裏:http://stackoverflow.com/questions/7396781/architecturally-speaking-how-should-i-replace-an-extremely-large-switch-statemen – longda