0
我有3個co,sto和per的列表。 每個實體都有一個域GUID。 我需要一些方法來生成GUID對於每個列表 像.net中的一些屬性的通用填充
public static void FillGuids (List<> list)
{
foreach (var c in list)
{
}
}
請幫助。 謝謝
我有3個co,sto和per的列表。 每個實體都有一個域GUID。 我需要一些方法來生成GUID對於每個列表 像.net中的一些屬性的通用填充
public static void FillGuids (List<> list)
{
foreach (var c in list)
{
}
}
請幫助。 謝謝
您可以用通用的方法和反思這樣做:
public static void FillGuids<T>(List<T> list)
{
PropertyInfo prop = typeof(T).GetProperty("GUID");
if (prop == null) return; // no GUID property
list.ForEach(x => prop.SetValue(x, Guid.NewGuid()));
}
如果GUID
不是公共財產,但私人領域,你可以使用GetField()
代替:
FieldInfo field = typeof(T).GetField("GUID", BindingFlags.NonPublic);
謝謝,但是你對使用多態性解決這個問題有任何想法嗎? – Ovidiu
@Ovidiu與多態性,你需要三種方法參數類型'列表','列表'和'列表',但不需要反射,但可以簡單地設置'x.GUID = Guid.NewGuid()',因爲這三個類型具有此字段/屬性。 –
重點是我需要使用參數列表