2

定義:

#if !DEBUG
        [RequireHttps]
#endif
[Authorize(Roles="Admin")]
public class AdminAuthorizeController : Controller { }

使用済み:

public class GlobalCrudController : AdminAuthorizeController

これにより、DEBUG モードでないときに がマークアップGlobalCrudControllerを持つことが保証されますか?[RequireHttps]

4

3 に答える 3

2

はい、このパラメーターがあります。この場合、属性は C# で継承されます。使用したような条件付きコンパイル ステートメントは非常に単純です。ステートメントが true の場合はコードが含まれますが、そうでない場合は含まれません。

于 2012-08-09T22:50:28.367 に答える
1

はい、この属性は既に RequireHttpsAttribute に適用されているためです。

[AttributeUsage(AttributeTargets.Class, Inherited=true)]
于 2012-08-09T22:52:08.407 に答える
1

はい、RequireHttps属性はプロパティ「true」を継承しています。

あなたの状態は継承に影響しません。

ただし、この例のように独自の属性を記述して、この継承を回避することができます - https://stackoverflow.com/a/747208/775779

于 2012-08-09T22:54:29.440 に答える