Я понимаю, что вы не можете получить целевой объект в самом Атрибуте, но как насчет связанного объекта Разрешения при использовании CodeAccessSecurityAttribute? Объект Permission вызывается во время выполнения, поэтому кажется, что должен быть способ, но я в растерянности.
public sealed class MySecurityAttribute : CodeAccessSecurityAttribute
{
public override IPermission CreatePermission()
{
MySecurityPermission permission = new MySecurityPermission();
//set its properties
permission.Name = this.Name;
permission.Unrestricted = this.Unrestricted;
return permission;
}
}
public class MySecurityPermission : IPermission, IUnrestrictedPermission
{
public MySecurityPermission(PermissionState state)
{
// what method was the attribute decorating that
// created this MySecurityPermission?
}
public void Demand()
{
// Or here?
}
}