Поделиться через


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

Комментарии

Пользовательский код, расширяющий объекты безопасности, должен реализовать ToXml методы и FromXml , чтобы сделать объекты безопасности инкассируемыми.

Примечания для тех, кто реализует этот метод

Этот метод необходимо переопределить в производном классе.

Применяется к