ISecurityEncodable.ToXml Method

Definition

Creates an XML encoding of the security object and its current state.

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

Returns

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

Examples

The following code example demonstrates implementing the FromXml method. This code example is part of a larger example provided for the ISecurityEncodable class.

    // Produce XML from the permission's fields.
public:
    virtual SecurityElement^ ToXml() override
    {
        // These first three lines create an element with the required format.
        SecurityElement^ element = gcnew SecurityElement("IPermission");
        // Replace the double quotation marks () 
        // with single quotation marks ()
        // to remain XML compliant when the culture is not neutral.
        element->AddAttribute("class", 
            GetType()->AssemblyQualifiedName->Replace('\"', '\''));
        element->AddAttribute("version", "1");

        if (!specifiedAsUnrestricted)
        {
            element->AddAttribute("Flags", 
                Enum::Format(SoundPermissionState::typeid, stateFlags, "G"));
        }   
        else
        {
            element->AddAttribute("Unrestricted", "true");
        }
        return element;
    }
// Produce XML from the permission's fields.
public override SecurityElement ToXml()
{
    // These first three lines create an element with the required format.
    SecurityElement e = new SecurityElement("IPermission");
    // Replace the double quotation marks ("") with single quotation marks ('')
    // to remain XML compliant when the culture is not neutral.
    e.AddAttribute("class", GetType().AssemblyQualifiedName.Replace('\"', '\''));
    e.AddAttribute("version", "1");

    if (!m_specifiedAsUnrestricted)
        e.AddAttribute("Flags", Enum.Format(typeof(SoundPermissionState), m_flags, "G"));
    else
        e.AddAttribute("Unrestricted", "true");
    return e;
}
' Produce XML from the permission's fields.
Public Overrides Function ToXml() As SecurityElement
    ' These first three lines create an element with the required format.
    Dim e As New SecurityElement("IPermission")
    ' Replace the double quotation marks ("") with single quotation marks ('')
    ' to remain XML compliant when the culture is not neutral.
    e.AddAttribute("class", [GetType]().AssemblyQualifiedName.Replace(ControlChars.Quote, "'"c))
    e.AddAttribute("version", "1")

    If Not m_specifiedAsUnrestricted Then
        e.AddAttribute("Flags", [Enum].Format(GetType(SoundPermissionState), m_flags, "G"))
    Else
        e.AddAttribute("Unrestricted", "true")
    End If
    Return e

End Function 'ToXml

Remarks

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

Applies to