CodeAccessPermission.ToXml Method

Definition

When overridden in a derived class, creates an XML encoding of the security object and its current state.

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

Returns

An XML encoding of the security object, including any state information.

Implements

Examples

The following code example shows an override of the ToXml method. This code example is part of a larger example provided for the CodeAccessPermission class.

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

Remarks

Custom code that extends security objects needs to implement the ToXml and FromXml methods to make the objects security-encodable.

Notes to Implementers

You must override this method in a derived class.

Applies to