最初の質問 - 私はそれを何度も読んで、何度も落ち込んで、自分の足をコミュニティに濡らしました!Linq - 文字列から値を取得する
私はLINQクエリから単一の行を取得することによって開始:
var relationshipDetails = (from p in dc.tbl_ClientRelationships
where p.ID == relationship_id
select p).FirstOrDefault();
それから私は、文字列のリスト(_cols
)に目を通す知られているカラム名である(とも項目名を形成する)ので、のような:
foreach (string c in _cols)
{
if (relationshipDetails.GetType().GetProperty(c).GetValue(relationshipDetails, null).ToString() != null)
{
setValue(relationshipDetails.GetType().GetProperty(c).GetValue(relationshipDetails, null).ToString(), c);
}
}
setValue()
方法は、基本的には、WebBrowserコントロールに戻り値を代入(種類およびどのように割り当てられるべき等を決定するためのロジックを有している..)
私の質問は、知っているプロパティ値からLinqオブジェクトの値を取得する良い方法はありますか? これはいくつかのフォームで動作しますが、最近私を爆破しました!
それ以外の場合は、古い方法に戻るか、DataRow
をDALから返信して、簡単に名前で参照するように誘惑されます。事前に
おかげで、 マーク
C#は "爆発"しませんが、例外をスローします。例外には、他の情報の中には、型、メッセージ、およびスタックトレースが含まれます。 – Jon
はい、より良い方法が本当に必要です。ループ内でReflectionを使用しています。それはコストのかかる作業です専門家の回答を待っていません – Zenwalker
タイプセーフティを捨てようと積極的に取り組んでいますか? – asawyer