我正在處理大量的FieldInfo信息,我想爲某些類型的數據添加異常來處理它們的不同(爲了製作一個整潔的輸出字符串),但我可以沒有找到一種方法將對象投射到列表中,以便我可以從中得到計數。將一個未知類型的列表投射到一個通用列表類型
我的代碼:
string str = "";
string value = "";
foreach (FieldInfo fieldInfo in fieldInfos)
{
if (fieldInfo.Name == "Sprite" || fieldInfo.Name == "Background")
{
value = "Unreadable";
}
else if (fieldInfo.GetValue(type) == null)
{
value = "Null";
}
else
{
switch (fieldInfo.GetValue(type).GetType().Name)
{
default:
value = fieldInfo.GetValue(type).ToString();
break;
case "Color":
value = ((Color)fieldInfo.GetValue(type)).Name;
break;
case "List`1":
value = (((System.Collections.Generic.List<>)fieldInfo.GetValue(type)).Count - 1).ToString();
break;
}
}
str += " " + fieldInfo.Name + ": " + value + Environment.NewLine;
}
return str;
感謝它的工作。我會盡我所能接受你的答案! – user1763295
@ user1763295如果它工作..你現在爲什麼不能接受它作爲答案? – ElectricRouge
@ElectricRouge問題發佈後,您必須等待15分鐘才能接受答案。 – MarcinJuraszek