switch(ID)
{
case "CustomReportsContainer":
foreach (var report in SessionRepository.Instance.CustomReports.ToList())
{
var reportItem = new RadListBoxItem(report.Name, report.ID.ToString());
if (!Items.Any(item => int.Equals(item.Value, reportItem.Value)))
{
Items.Add(reportItem);
}
}
break;
case "HistoricalReportsContainer":
foreach (var report in SessionRepository.Instance.HistoricalReports.ToList())
{
var reportItem = new RadListBoxItem(report.Name, report.ID.ToString());
if (!Items.Any(item => int.Equals(item.Value, reportItem.Value)))
{
Items.Add(reportItem);
}
}
break;
}
HistoricalReportsとCustomReportsは異なるタイプのコレクションですが、私は各オブジェクトタイプと同じ2つのプロパティに興味があります。私はLINQのSelectを使用して、匿名で型付けされたオブジェクトのリストを作成できるはずだと考えました。これを匿名型を使用してより簡潔に表現できますか?
私は、暗黙的に型付けされた変数をそれに割り当てることなく作成することはできません。私はSwitchステートメントのスコープの中にいるので... switchステートメントの内部でvarに代入することはできず、switchステートメントの外側で残りのコードを移動することはできません。
このコードをどのように表現すればよいですか?現在のインプリメンテーションは「ベスト」ですか?
ugg、閉じる。これで何かできますか?私たちのAPIを介しているので、私はそれ以上深く変更することはできません。
ReportServices.GetAllCustomReports().Select(report => new { report.Name, report.ID}).ToList().ForEach(customReport => _customReports.Add(customReport));
Error 2 Argument 1: cannot convert from 'AnonymousType#1' to 'CableSolve.Web.Dashboard.IReport'
これはまったく役に立ちません。私は今リファクタリングの過程にいるので、私はここにいて、質問と学習を求めています。 –