2

やあ、

これは、ここでのスタックオーバーフローでの最初の質問です。助けていただければ幸いです。

次のプロパティがlinqクエリに入力されています。

FieldLabel = (currentLanguage == "de" ? forum.language.German :
         currentLanguage == "fr" ? forum.language.French :
         currentLanguage == "en" ? forum.language.English :
         forum.language.English)

私の「フォーラム」エンティティは、いくつかの言語列(ドイツ語、フランス語、英語)などを持つ「投稿」のようなものになる可能性があるため、これを汎用にする必要があります。次のようなエンティティタイプを受け取る動的メソッドが必要です「フォーラム」または「投稿」、または列言語を持つその他のものであり、そのチェーンされた If に基づいて選択された列を返します。

どうすればこれを解決できますか?

4

1 に答える 1

-1

.NET 4.0 以降を使用していて、すべてのエンティティに「language」プロパティがある場合は、dynamicキーワードを使用できます。

private dynamic GetLanguage(String currentLanguage, dynamic entity)
{
    return (currentLanguage == "de" ? entity.language.German :
     currentLanguage == "fr" ? entity.language.French :
     currentLanguage == "en" ? entity.language.English :
     entity.language.English);
}
于 2013-03-28T13:00:21.043 に答える