が含まれている場合は、オブジェクトからプロパティを取得し、確認し、私はそのプロパティが特定の値が含まれている場合は、オブジェクトからプロパティを取得し、チェックを使用しようとしています:それは価値
public static object GetProp(object obj, string propName, value)
{
return obj.GetType().GetProperty(propName).GetValue(obj).Contains(value);
}
この:プロパティを取得する
方法は次のようになります私はオブジェクトの値を取得します。
と使用(私はachiveしようとしています何actualyされるか)である:
string value = this._predicateFilter.GetValueOrDefault(refName, string.Empty);
if (!string.IsNullOrEmpty(value))
{
predicate.And(c => Assets.Extensions.GetProp(c, "name", "value to compare"));
}
私は例外取得しています:
'object' does not contain a definition for 'Contains' and the best
extension method overload 'Queryable.Contains<string>
(IQueryable<string>, string)' requires a receiver of type
'IQueryable<string>'
をそして、私は問題は、LINQとエンティティフレームワークで何かだと思いますそのメソッドを本体内で実行することはできません。
私はのような厄介なソリューションを使用することができます。
string firstname = this._predicateFilter.GetValueOrDefault("Firstname", string.Empty);
if (!string.IsNullOrEmpty(firstname))
{
predicate.And(c => c.Firstname.Contains(firstname));
}
string lastname = this._predicateFilter.GetValueOrDefault("Lastname", string.Empty);
if (!string.IsNullOrEmpty(lastname))
{
predicate.And(c => c.Lastname.Contains(lastname));
}
魔女は私がpreffer少ないコードをウォルド、正常に動作しますが、私は何をしないのですか?
OHおよびdoesn't 値プロパティを返すlinqKit
[C#のリフレクションを使用して文字列からプロパティ値を取得]の可能な複製(http://stackoverflow.com/questions/1196991/get-property-value-from-string-using-reflection-in-c-sharp) –
あなたのコードを更新し、さらに多くのエラーを追加しました... – TheLethalCoder