メソッドに特定の戻り値の型があることを望みますが、どういうわけか機能させることができません。
私はXML構造を持っています:
<Notifications>
<Alerts>
<Max>3<Max/>
<Med>2<Med/>
<Min>1<Min/>
</Alerts>
</Notifications>
Max
、Med
、の値を取得したいと思いますMin
。しかし、主なポイントは、foreach ループはまったく必要ないということです。メソッドに List<string> 戻り値の型が必要なだけでなく、ジェネリックな戻り値の型を作成することもできます。
ポイントは、そのプロパティを埋めるカスタムクラスを持っていない (そして私はそれを持ちたくない) ということです。
これは私が持っているものですが、「List()」匿名メソッドでエラーが発生しました:
Here it returns:
List<string> items = GetAlerts();
//method to read:
public List<string> GetAlerts()
{
return xmlDoc1.Descendants("Notifications").Elements("Alerts").Select(s => new
{
MAX = s.Element("Max").Value,
MED = s.Element("Med").Value,
MIN = s.Element("Min").Value
}).ToList(); //error on this line
}
----------
そして、このメソッドが一般的な戻り値の型になるとしたら、どのように見えるでしょうか? これはOKではありません:
Here it returns:
List<object> items = setBLL2.GetAlert<List<object>>();
public T GetAlert<T>() where T:class
{
return (T)xmlDoc1.Descendants("Notifications").Elements("Alerts").Select(s => new
//ERROR up here before (T
{
MAX = s.Element("Max").Value,
MED = s.Element("Med").Value,
MIN = s.Element("Min").Value
}).ToList();
}
エラーメッセージは次のとおりです。
タイプ 'System.Collections.Generic.List' を 'T' に変換できません