CodeAccessPermission.ToXml 方法    
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当在派生类中重写时,创建安全对象及其当前状态的 XML 编码。
public:
 abstract System::Security::SecurityElement ^ ToXml();public abstract System.Security.SecurityElement ToXml();abstract member ToXml : unit -> System.Security.SecurityElementPublic 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
注解
扩展安全对象的自定义代码需要实现 ToXml 和 FromXml 方法,使对象可安全编码。
实施者说明
必须在派生类中重写此方法。