對于公共的非密封類:
[System.Security.Permissions.PermissionSetAttribute(System.Security. Permissions.SecurityAction.InheritanceDemand, Name="FullTrust")] [System.Security.Permissions.PermissionSetAttribute (System.Security.Permissions.SecurityAction.LinkDemand, Name="FullTrust")] public class CanDeriveFromMe •對于公共的密封類:
[System.Security.Permissions.PermissionSetAttribute (System.Security.Permissions.SecurityAction.LinkDemand, Name="FullTrust")] public sealed class CannotDeriveFromMe •對于公共的抽象類:
[System.Security.Permissions.PermissionSetAttribute (System.Security.Permissions.SecurityAction.InheritanceDemand, Name="FullTrust")] [System.Security.Permissions.PermissionSetAttribute (System.Security.Permissions.SecurityAction.LinkDemand, Name="FullTrust")] public abstract class CannotCreateInstanceOfMe_CanCastToMe •對于公共的虛擬函數:
class Base { [System.Security.Permissions.PermissionSetAttribute (System.Security.Permissions.SecurityAction.InheritanceDemand, Name="FullTrust")] [System.Security.Permissions.PermissionSetAttribute( System.Security.Permissions.SecurityAction.LinkDemand, Name="FullTrust")] public override void CanOverrideOrCallMe() { ... } •對于公共的抽象函數:
class Base { [System.Security.Permissions.PermissionSetAttribute (System.Security.Permissions.SecurityAction.InheritanceDemand, Name="FullTrust")] [System.Security.Permissions.PermissionSetAttribute (System.Security.Permissions.SecurityAction.LinkDemand, Name="FullTrust")] public override void CanOverrideMe() { ... } •對于基函數不需要完全信任的公共重寫函數:
class Derived { [System.Security.Permissions.PermissionSetAttribute (System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] public override void CanOverrideOrCallMe() { ... } •對于基函數需要完全信任的公共重寫函數:
class Derived { [System.Security.Permissions.PermissionSetAttribute (System.Security.Permissions.SecurityAction.LinkDemand, Name="FullTrust")] public override void CanOverrideOrCallMe() { ... } •對于公共接口:
[System.Security.Permissions.PermissionSetAttribute (System.Security.Permissions.SecurityAction.InheritanceDemand, Name="FullTrust")] [System.Security.Permissions.PermissionSetAttribute (System.Security.Permissions.SecurityAction.LinkDemand, Name="FullTrust")] public interface CanCastToMe Demand 與 LinkDemand聲明性安全提供了兩種類似的、但檢查方式大不相同的安全檢查;ㄐ⿻r間了解這兩種形式是值得的,因為錯誤的選擇會導致脆弱的安全性或性能損失。本部分并不打算完整地說明這些功能;有關完整的詳細信息,請參閱產品文檔。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/