問題タブ [attributeusage]

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.

0 投票する
3 に答える
5780 参照

c# - 特定のクラスの C# AttributeUsage

AttributeUsage のようなものを使用して、属性の使用を特定のクラス (AttributeTargets.Class だけでなく、任意のクラス) に制限することは可能ですか?

0 投票する
5 に答える
11648 参照

c# - 属性を作成するときに AttributeUsage AllowMultiple を使用する必要があるのはなぜですか?

私が読んでいる本によると、のAllowMultiple公開プロパティは次のようにAttributeUsage指定されています。

...ターゲットにアトリビュートの複数のインスタンスを適用できるかどうか。

なぜ私はこれを使いたい/使いたくないのでしょうか?

0 投票する
1 に答える
1274 参照

c# - カスタム属性-プライベートメンバーのみの属性使用法を設定します

カスタム属性を作成し、AttributeUsage(または属性クラスの他の属性を)設定して、自分の属性をプライベートメソッドでのみ使用できるようにしたいのですが、それは可能ですか?

回答ありがとうございます!

0 投票する
2 に答える
298 参照

c# - ルーティングに関する属性のヘルプ、コンパイラ エラー

というカスタム属性を作成しましたRouteAttribute:

サイト内の URL のリストを含む URL ヘルパー クラスの属性を介してルーティングを追加するために使用されるため、サイトの URL を簡単に管理できます。

ただし、デフォルトの追加に問題があり、コンパイラ エラーが発生します。

混乱を避けるために、値は routeurl に設定され、物理 URL は属性から取得されます。その理由は、既存のサイトを変換しているためです。リンクをどこでも変更するのではなく、ページの操作が完了したら、自分のクラスに移動します。物理URLを新しいページに変更します

エラーを与える:

属性引数は、定数式、typeof 式、または属性パラメーター タイプの配列作成式でなければなりません

0 投票する
2 に答える
2362 参照

c# - AttributeTargets.Class を使用したカスタム ValidationAttribute のクライアント側検証

クラス スコープで使用されるカスタム ValidationAttribute のクライアント サイト検証を実装することは可能ですか? たとえば、私の MaxLengthGlobal は、すべての入力フィールドのグローバル最大制限を保証する必要があります。

ありがとうございました。

0 投票する
1 に答える
732 参照

f# - F#がC#で許可されている複数の属性を許可しないのはなぜですか?

次のコードはC#でコンパイルされます。

F#の次のコードはコンパイルされません。

F#のコンパイルエラーは次のとおりです。「属性タイプ'ContentTypeAttribute'には'AllowMultiple=false'があります。この属性の複数のインスタンスを単一の言語要素にアタッチすることはできません。」

ContentTypeを逆コンパイルすると、ContentTypeがAttributeUsageに「AllowMultiple=true」を持つMultipleBaseMetadataAttributeを継承していることがわかります。

実際、F#は親クラスからAttributeUsageを継承していないようです。

どこ

0 投票する
1 に答える
1322 参照

c# - 特定の署名を持つメソッドのカスタム属性を作成する

AttributeUsage属性を持つ単純なクラスを作成しました。ビルドしようとすると、エラーが発生しました:

Attribute 'AttributeUsage' is only valid on classes derived from System.Attribute.

次に、クラスを Attribute から継承するようにしましたが、すべて問題ありません。

属性を使用すると、クラスAttributeUsageから継承する必要があります。Attribute私の質問は、メソッドに特定の署名を強制する属性を作成できますか?

助けてくれてありがとう!

0 投票する
1 に答える
89 参照

c# - クラス制限のある属性の作成方法

C# には という属性がありますAttributeUsage。この属性をクラスに設定する場合、クラスが Attribute クラスから派生したものであるかどうかが自動的に検出され、そうでない場合はエラーがスローされます。

どうすればそのような制限を作成できますか?

特定のクラスでのみ使用可能/設定可能にする属性を作成したいと考えています。