CodeAccessPermission.ToXml 方法

定义

当在派生类中重写时,创建安全对象及其当前状态的 XML 编码。

public:
 abstract System::Security::SecurityElement ^ ToXml();
public abstract System.Security.SecurityElement ToXml ();
abstract member ToXml : unit -> System.Security.SecurityElement
Public MustOverride Function ToXml () As SecurityElement

返回

安全对象的 XML 编码,包括任何状态信息。

实现

示例

下面的代码示例演示 方法的 ToXml 替代。 此代码示例是为 CodeAccessPermission 类提供的一个更大示例的一部分。

public:
   virtual SecurityElement^ ToXml() override
   {
      // Use the SecurityElement class to encode the permission to XML.
      SecurityElement^ esd = gcnew SecurityElement( "IPermission" );
      String^ name = NameIdPermission::typeid->AssemblyQualifiedName;
      esd->AddAttribute( "class", name );
      esd->AddAttribute( "version", "1.0" );
      
      // The following code for unrestricted permission is only included as an example for
      // permissions that allow the unrestricted state. It is of no value for this permission.
      if ( m_Unrestricted )
      {
         esd->AddAttribute( "Unrestricted", true.ToString() );
      }

      if ( m_Name != nullptr )
      {
         esd->AddAttribute( "Name", m_Name );
      }

      return esd;
   }
public override SecurityElement ToXml()
{
    // Use the SecurityElement class to encode the permission to XML.
    SecurityElement esd = new SecurityElement("IPermission");
    String name = typeof( NameIdPermission).AssemblyQualifiedName;
    esd.AddAttribute("class", name);
    esd.AddAttribute("version", "1.0");

    // The following code for unrestricted permission is only included as an example for
    // permissions that allow the unrestricted state. It is of no value for this permission.
    if (m_Unrestricted)
    {
        esd.AddAttribute("Unrestricted", true.ToString());
    }
    if (m_Name != null) esd.AddAttribute( "Name", m_Name );
    return esd;
}
    Public Overrides Function ToXml() As SecurityElement
        ' Use the SecurityElement class to encode the permission to XML.
        Dim esd As New SecurityElement("IPermission")

        Dim name As String = GetType(NameIdPermission).AssemblyQualifiedName
        esd.AddAttribute("class", name)
        esd.AddAttribute("version", "1.0")

        ' The following code for unrestricted permission is only included as an example for
        ' permissions that allow the unrestricted state. It is of no value for this permission.
        If m_Unrestricted Then
            esd.AddAttribute("Unrestricted", True.ToString())
        End If
        If Not (m_Name Is Nothing) Then
            esd.AddAttribute("Name", m_Name)
        End If
        Return esd
    End Function 'ToXml
End Class

注解

扩展安全对象的自定义代码需要实现 ToXmlFromXml 方法,使对象可安全编码。

实施者说明

必须在派生类中重写此方法。

适用于