WCFサービスの承認を処理するためのカスタムCodeAccessSecurityAttributeを構築しています。私はそのようにクラスAを構築しました:
public class A : CodeAccessSecurityAttribute
{
public A() : base(SecurityAction.Demand)
{
// Constructor Code
}
public override IPermission CreatePermission()
{
// Permission Creation Code
}
}
また、コンパイル時にこのエラーが発生します。
Error emitting 'A' attribute -- 'Serialized security custom attribute is
truncated or incorrectly formed.'
少し遊んだ後、エラーなしでコンパイルされる次のサンプルを思いつきました。
public class B : CodeAccessSecurityAttribute
{
public B(SecurityAction Action) : base(Action)
{
// Constructor Code
}
public override IPermission CreatePermission()
{
// Permission Creation Code
}
}
SecurityAction列挙型がクラスAのパブリック側を直接参照していないためですが、私が理解できないのは、クラスBではなくクラスAメソッドを実行できるようにする方法です。