問題タブ [getcustomattributes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Unity インターセプト GetCustomAttribute
よろしくお願いします。(はい、一番下に質問があります)
Unity 3.x Interception を使用して、AOP 前後のデータベース接続とトランザクション アクティビティを実行しています。データベース インターセプターは常にインスタンス化され、トランザクション インターセプターは CustomAttributeMatchingRule ベースであり、両方とも InterfaceInterceptor を介して行われます。TransactionAttribute に設定されているプロパティがあります。
単体テストで使用している例として。TransactionCallHandler クラスの呼び出しメソッドでそれらにアクセスしたいと思います。私は言っている例を見てきました
これにアクセスする方法ですが、私のトランザクション変数は null です。私の結論は、元の具体的なインスタンスではなく、カスタム属性についてインターセプト プロキシ クラスがチェックされているということです。
これに対する私の回避策は、クラスレベルまでさかのぼって反映し、掘り下げてインターセプトされている正しいメソッドが何であるかを突き止め、そこからカスタム属性の取得を実行することです。
(メソッドにオーバーロードがある場合に間違ったメソッド名にアクセスしないようにするために、さらに約 30 行のコードがあります。したがって、パフォーマンスが低下します...)
結局のところ、私の質問は次のとおりです。反射を正しく実行していませんか? Unity に報告すべきバグはありますか?
これが私のコンテナ定義です:
c# - クラス名からのC#GetCustomattributes
クラス名から文字列としてカスタム属性を取得することは可能ですか?
このようなもの(これは機能しません)
c# - GetCustomAttributes は、TeamBuild を介して呼び出されたときに属性を見つけられません
これはかなりありますが、誰かがこれを見たことがあるかもしれません。誰かがGetCustomAttributes
失敗に対する追加のデバッグのアイデアを持っているかもしれません。
Assembly.GetCustomAttributes(Assembly, Type)
TeamBuild を介して呼び出された場合、特定のマシンでは何も返しません。
GetCustomAttributes
特定のディレクトリ内の dll で独自の属性を探しています。Visual Studio で、通常は TeamBuild を介して使用すると、常にこの属性が見つかりますが、特定のビルド コントローラー (Windows 2008 サーバー) では、属性を見つけることができません。
属性は 1 つの dll で定義され、他の dll で使用されます。リモート マシンで VS を使用してデバッグできません。
重複したアセンブリが見つかったものがあると思われますが、何も見つかりませんでした。
Fuslogvw を試してみましたが、アセンブリが正しい場所から読み込まれていることがわかる限り、異常はありません。
c# - ConditionString を使用して特定の属性インスタンスを取得する
これはばかげた質問かもしれません。条件付き属性の概念を理解しようとしています。私の目的は、特定の属性インスタンスを取得することであり、出力「CONDITION1」ではなく NullReferenceException を取得することになりました。
GetCustomAttribute で正しい属性を使用していることを願っています。誰かが間違いを指摘できますか?
前もって感謝します。
c# - カスタム属性と GetCustomAttributes の異常な動作
私は何時間もこの問題と戦ってきましたが、SOに関連するものは何も見つかりませんでした(またはグーグルで)。
これが私の問題です: オブジェクト配列プロパティを含むカスタム属性があります。
次に、次のコードを使用してプロパティから読み取ります。
これはすべて、次の場合に正常に機能します。
ただし、 null に設定すると([Property(Parameters = null])
、次のエラーが発生します。
プロパティはカスタム属性内で定義されているため、これはばかげています。私は本当にそれを取得しません。
だから私の質問は:何が起こっているのですか?
- 編集
プロパティの型を object[] から object に変更すると、null の割り当ては問題なく機能します。
-- 編集してコードを追加
属性:
クラス:
方法:
-- わからない場合は、これを読んでみてください。
私もそこで質問しました。
vb.net - 「'CustomAttributes' は 'PropertyInfo' のメンバーではありません」と表示されるのはなぜですか?
リフレクションを使用してプロパティ値を取得しています。コードは意図したとおりに動作するように見えますが、Visual Studio はエラー BC30456 を報告します。「CustomAttributes」は「PropertyInfo」のメンバーではありません。初めてコードを書いたとき、それはきれいにコンパイルされました。ある時点で、VS は一貫してエラーにフラグを立て始めました。ソリューションをクリーンアップして再構築し、VSを数回閉じて再度開きました。プロジェクトを実行すると、「最後に成功したビルドを実行する」ことができ、ページ (他の場所の変更を含む) が期待どおりに実行されます。このコードは、Visual Studio Community 2015 Update 1 の Web サイト (Web プロジェクト/Web アプリケーションではない) の一部です。コードは、App_Code フォルダー内のクラスにあります。
オブジェクト ブラウザを使用すると、System.Reflection.PropertyInfo のインスタンスが 5 つ以上表示されます。それぞれが同一の情報 (MustInherit class PropertyInfo、継承 System.Reflection.MemberInfo、System.Reflection のメンバー) を持っていますが、CustomAttributes プロパティを含むのは 2 つだけです。コンパイラが PropertyInfo の「間違った」インスタンスを見ていると思います...?
コードは機能するので、これはショーストッパーではありませんが、もちろん、コードをきれいにコンパイルして、このエラーの原因を理解したいと思っています。
asp.net-mvc - 派生モデルの属性を取得する mvc
私は1つの基本モデル、子モデル、および2番目の子である別のモデルを持っています:
RequiredIfSubmitting
伸びるBaseRequiredAttribute
ビューのカスタム ラベルを作成しています。
ThirdModel.Property1 の属性を取得しようとしています。
問題は、reuired/requiredifsubmitting 属性が GetCustomAttributes メソッドで表示されない場合 (なしとして表示される)、metadata.IsRequired が結果として false に設定されることです。
属性を FirstModel Property1 に配置しない限り、metadata.IsRequired は true に設定されます。
必須の派生プロパティを持つ必要のない他のモデルがそれらから継承するため、属性を上位モデル クラスに配置することはできません。
GetCustomAttributes に下位レベルのモデル プロパティの属性を表示させるにはどうすればよいですか?
ありがとう