ISecurityEncodable.ToXml 方法

定义

创建安全对象及其当前状态的 XML 编码。

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

返回

SecurityElement

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

示例

下面的代码示例演示如何实现该方法 FromXml 。 此代码示例是为 ISecurityEncodable 类提供的一个更大示例的一部分。

    // 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

注解

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

适用于