FilterContext.IsEffectivePolicy<TMetadata>(TMetadata) メソッド

定義

指定 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 属性を配置することによってオーバーライドされる場合があります。 アクション メソッドに直接適用されるポリシーは、より具体的と見なされる場合があります。

このオーバーライドメカニズムは、フィルター システムがフィルターの順序を制御するために提供する順序とスコープの規則に依存します。 このプロトコルを協調的に実装するのは、フィルターの実装者次第です。 フィルター システムにはオーバーライドの本質的な概念はありません。これは推奨される規則です。

適用対象