問題タブ [postsharp]
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# - PostSharpを使用してインターフェースに属性を適用する
インターフェイスに属性を適用して、そのインターフェイスを実装するクラスのすべてのメソッドに属性が適用されるようにしたいと思います。
私はそれが次のようになると思いました:
しかし、以下のようなインターフェイスに適用すると、インターフェイスを実装するクラスでメソッドが呼び出されたときに、属性のOnEntry/OnExitコードにアクセスすることはありません。
以下のように、実装クラス自体に属性を適用すると、正常に機能します。
私は何が欠けている/間違っているのですか?
c# - PostSharp コンパイル エラー
私はpostsharp 1.5に付属する例に従いました..そして、2つの簡単なプロジェクトがあります:
次のような側面があります。
他のプロジェクトでは、次のようなテスト ケースがあります。
「テスト」の同じプロジェクトでは、次のテスト フィクスチャがあります。
postsharp 例外のため、コードはコンパイルされません。
私は何をすべきか?
c# - 属性を使用したPostSharpマルチキャストの抑制
最近PostSharpの実験を開始しましたが、INotifyPropertyChangedの実装を自動化するのに特に役立つ側面を見つけました。ここで例を見ることができます。基本的な機能は優れていますが(すべてのプロパティが通知されます)、通知を抑制したい場合があります。
たとえば、特定のプロパティがコンストラクターで一度設定され、二度と変更されないことを知っているかもしれません。そのため、NotifyPropertyChangedのコードを発行する必要はありません。クラスが頻繁にインスタンス化されない場合、オーバーヘッドは最小限に抑えられます。自動生成されたプロパティからフィールドに基づくプロパティに切り替えてフィールドに書き込むことで、問題を防ぐことができます。ただし、この新しいツールを学習しているときに、コード生成を抑制する属性でプロパティにタグを付ける方法があるかどうかを知っておくと役に立ちます。私はこのようなことをしたいと思っています:
c# - PostSharp 1.5 で INotifyPropertyChanged を実装する
.NET と WPF は初めてなので、正しく質問していただければ幸いです。PostSharp 1.5 を使用して実装された INotifyPropertyChanged を使用しています。
}
次に、[NotifyPropertyChanged] を実装するクラス (ユーザーとアドレス) がいくつかあります。それは正常に動作します。しかし、私が望むのは、子オブジェクトが(私の例のアドレスで)変更された場合、親オブジェクトが通知されることです(私の場合はユーザー)。このコードを拡張して、子オブジェクトの変更をリッスンする親オブジェクトにリスナーを自動的に作成することは可能でしょうか?
c# - 条件に基づいて PostSharp アスペクトの OnEntry メソッドでメソッドを終了する方法
次のような条件に基づいて、アスペクトがメソッド呼び出しを終了するようにしたいと思います。
どんな助けでも大歓迎です。
.net - Spring.Net は PostSharp として機能できますか?
数か月前、私は PostSharp を発見しました。
しかしその後、リーガルは古いバージョンのライセンスが気に入らないという回答を返してきました。その後、部門は 2.0 の価格が (必要な座席数に対して) 受け入れがたいほど高いことを教えてくれました. そのようなフレームワークはこれだけではありえない、と私は思いました。
私は代替品を探し続けましたが、そのほとんどは死んでいるか、メンテナンスが不十分で (特にドキュメンテーション部門で)、学術的な使用のために、または上記のすべてでした (私はあなたの Aspect.Net を見ています)。
その後、Spring.Net を発見しました。しばらくの間、それは良かったです。
私はドキュメンテーションを読んでいて、AOP 涅槃の優れた絵のように見えるものを描き続けました。コード インターセプトを行う場所をマークするために属性にロックされることはなくなりましたが、XML で構成することができ、それを変更しても再コンパイルする必要はありませんでした。偉大な。
次に、サンプルを調べたところ、すべての使用シナリオで次のことがわかりました。
コードの最初の 2 行が存在しなければならないのはなぜですか? それはすべてを台無しにします。これは、適切なメソッド/クラス/などに適切な属性を貼り付けたり、XML で一致パターンを編集したりすることによって、ユーザーが使用できるアスペクトと属性のセットまたは XML 構成を単純に提供することはできないことを意味します。これを機能させるには、プログラム ロジックを変更する必要があります。
この場合、Spring.Net を PostSharp として動作させる方法はありますか? (つまり、ユーザーは属性/XML 構成を追加するだけでよく、メソッドのコンテンツを編集する必要はありません。
または、PostSharp に代わる価値のある機能的な代替手段はありますか? SO でこのようなタイトルの質問をいくつか見たことがありますが、実際に PostSharp を置き換えようとしている人はいませんでした。その機能を補完したかっただけです。フル交換が必要です。
c# - アセンブリ全体のマルチキャスト属性。彼らは悪ですか?
私は、AssemblyInfo.csにいくつかの属性があり、特定のクラスのメソッドにマルチキャストされているプロジェクトに取り組んでいます。
これについて私が気に入らないのは、AssemblyInfo(Info、気をつけてください!)にロジックの一部を配置することです。これは、初心者にとってはロジックをまったく含まないようにする必要があります。その最悪の部分は、実際のMyClass.csがファイルのどこにも属性を持たないことであり、このクラスのメソッドがそれらを持っている可能性があるかどうかは完全に不明です。私の見解では、コードの可読性が大幅に低下します(PostSharpを使いすぎると、デバッグが悪夢になる可能性があることは言うまでもありません)。特に、複数のマルチキャスト属性がある場合はそうです。
ここでのベストプラクティスは何ですか?このようなPostSharp属性を使用している人はいますか?
c# - C# で System.Reflection.MethodBase を使用してメソッドの戻り値の型を見つけるにはどうすればよいですか?
MethodBase からメソッドの戻り値の型を調べるにはどうすればよいですか? 私は PostSharp を使用しており、 CompileTimeValidate(MethodBase method) メソッドをオーバーライドして、属性が正しい署名を持つメソッドに適用されていることを確認しようとしています。
ありがとう、
c# - PostSharp OnMethodBoundaryAspect
私はpostsharp1.5とOnMethodBoundaryAspectのアスペクトに取り組んでいます。アスペクトにデフォルトで次の動作をさせたい:
1-属性がクラスレベルで使用される場合、アスペクトはPUBLICメソッドにのみ適用されます。
2-アスペクトのユーザーは、アスペクトをプライベートメソッドまたは保護されたメソッドに入れることができます。
この[MulticastAttributeUsage(MulticastTargets.Method、TargetMemberAttributes = MulticastAttributes.Public)]を使用すると、ポイント1は機能しますが、互換性がないため、ケース2はビルドされません。
次に、次を使用してみました。AttributeTargetTypeAttributes = MulticastAttributes.Public; アスペクトのコンストラクターにありますが、機能しません。
事前にどうもありがとうございました。
c# - Postsharp重複属性?
このコンパイルエラーが発生する理由を誰か説明できますか?
これはコードです:
アスペクトの宣言は次のとおりです。
この例に従っているようです : http://www.sharpcrafters.com/blog/post/multicasting-of-custom-attributes.aspx
誰でも助けることができますか?