厳密に型指定されたプロパティ名のリストをメソッドに渡し、呼び出し元が関心のあるプロパティを分析して取得する方法を探しています。これを行う理由は、コピー メソッドを使用することです。ユーザーが指定したフィールドのみをコピーします。現在、このメソッドは、リフレクションで Getvalues および get properties メソッドで使用する文字列のリストを受け取りますが、プロパティのリファクタリングと、開発者によって文字列が更新されないように保護したいと考えています。
こちらの記事を見つけましたが、残念ながら一覧にはなっていません。私は次のようなことができます:
public static void Copy(Expression<Func<TObject>> propertiesToCopy )
{
}
そして、呼び出し元に実行してもらいます
PropertyCopier<List<string>>.Copy(() => data);
ただし、次のように、呼び出し元が持つことができるプロパティの数を指定する必要があります。
public static void Copy(Expression<Func<TObject>> propertiesToCopy,Expression<Func<TObject>> propertiesToCopy2, Expression<Func<TObject>> propertiesToCopy3 )
{
}
これにより、3 つのプロパティが可能になります。List または Queryable<> に追加して、呼び出し元が望むだけ多くのプロパティを許可する方法はありますか? Add in List を使用して Expression を試してみました
前もって感謝します
編集: 今晩、C# のparamキーワードを使用してこれを達成する方法について言及している記事をいくつか見つけました。より良い、またはより効率的な方法はありますか、それともこれが最善の方法ですか?