FilterContext.IsEffectivePolicy<TMetadata>(TMetadata) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定 IFilterMetadata した が、 に関連付けられているアクションに適用される最も効果的なポリシー (最も具体的なポリシー) であるかどうかを示す値を FilterContext返します。
public:
generic <typename TMetadata>
where TMetadata : Microsoft::AspNetCore::Mvc::Filters::IFilterMetadata bool IsEffectivePolicy(TMetadata policy);
public bool IsEffectivePolicy<TMetadata> (TMetadata policy) where TMetadata : Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata;
member this.IsEffectivePolicy : 'Metadata -> bool (requires 'Metadata :> Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata)
Public Function IsEffectivePolicy(Of TMetadata As IFilterMetadata) (policy As TMetadata) As Boolean
型パラメーター
- TMetadata
フィルター ポリシーの種類。
パラメーター
- policy
- TMetadata
フィルター ポリシー インスタンス。
戻り値
true
指定 IFilterMetadata された が最も効果的なポリシーである場合は 。それ以外の場合 false
は 。
注釈
メソッドは IsEffectivePolicy<TMetadata>(TMetadata) 、オーバーライド動作を定義するフィルターの一般的な規則を実装するために使用されます。 複数のフィルターが同じ横断的な問題に適用される可能性がある場合は、フィルター (TMetadata
) の共通インターフェイスを定義し、すべての実装がこのメソッドを呼び出してアクションを実行する必要があるかどうかを判断するようにフィルターを実装します。
たとえば、グローバル フィルターは、アクション メソッドに filter 属性を配置することによってオーバーライドされる場合があります。 アクション メソッドに直接適用されるポリシーは、より具体的と見なされる場合があります。
このオーバーライドメカニズムは、フィルター システムがフィルターの順序を制御するために提供する順序とスコープの規則に依存します。 このプロトコルを協調的に実装するのは、フィルターの実装者次第です。 フィルター システムにはオーバーライドの本質的な概念はありません。これは推奨される規則です。