現時点では、自分のmvcアプリケーション用に自分のValidationAttributeを作成しています。コンストラクタへのパラメータとしてenum /コンパイルされた値を渡す
次のValidationAttributeコードがあります。
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Class | AttributeTargets.Parameter, AllowMultiple = false)]
public class RecordAttribute: ValidationAttribute
{
public UniqueDataRecordAttribute(string primaryKeyProperty)
{
}
}
自分のプライマリプロパティのフィールド名を自分の属性に渡して、自分の妥当性検査を行います。 例えば:
[RecordAttribute("CustomerID")]
public class CustomerMetaData
{
}
これは私のために動作しますが、主キーの名前が変更されます場合は、私が問題に実行されます。
プライマリキー属性を含む列挙型を作成しました。私は、コンパイラは私に言っている、それを渡すしようとすると、しかし:
を属性引数は定数式でなければならない、表現 または属性パラメータ型の配列作成式
TYPEOF私もこれを試してみましたアプローチ:Associating enums with strings in C#でも効果は同じです。
属性に列挙型(または他のコンパイル済みの値)を渡す可能性はありますか?
ありがとうございます
をなぜ主キーの変更の名前だろう。そんなことを変えてしまわないように、あなたはその場で修正するのですか? –