Freigeben über


ISecurityEncodable.FromXml-Methode

Rekonstruiert aus einer XML-Codierung ein Sicherheitsobjekt mit einem angegebenen Zustand.

Namespace: System.Security
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Sub FromXml ( _
    e As SecurityElement _
)
'Usage
Dim instance As ISecurityEncodable
Dim e As SecurityElement

instance.FromXml(e)
void FromXml (
    SecurityElement e
)
void FromXml (
    SecurityElement^ e
)
void FromXml (
    SecurityElement e
)
function FromXml (
    e : SecurityElement
)

Parameter

  • e
    Die XML-Codierung zur Rekonstruktion des Sicherheitsobjekts.

Hinweise

In benutzerdefiniertem Code, der Sicherheitsobjekte erweitert, müssen die ToXml-Methode und die FromXml-Methode implementiert werden, um eine Sicherheitscodierung der Objekte zu ermöglichen.

Beispiel

Im folgenden Codebeispiel wird das Implementieren der FromXml-Methode veranschaulicht. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die ISecurityEncodable-Klasse.

// Populate the permission's fields from XML.
public override void FromXml(SecurityElement e) 
{
    m_specifiedAsUnrestricted = false;
    m_flags = 0;

    // If XML indicates an unrestricted permission, make this permission unrestricted.
    String s = (String) e.Attributes["Unrestricted"];
    if (s != null) 
    {
        m_specifiedAsUnrestricted = Convert.ToBoolean(s);
        if (m_specifiedAsUnrestricted)
            m_flags = SoundPermissionState.PlayAnySound;
    }

    // If XML indicates a restricted permission, parse the flags.
    if (!m_specifiedAsUnrestricted) 
    {
        s = (String) e.Attributes["Flags"];
        if (s != null) 
        {
            m_flags = (SoundPermissionState)
            Convert.ToInt32(Enum.Parse(typeof(SoundPermission), s, true));
        }
    }
}
    // Populate the permission's fields from XML.
public:
    virtual void FromXml(SecurityElement^ element) override
    {
        specifiedAsUnrestricted = false;
        stateFlags = (SoundPermissionState)0;

        // If XML indicates an unrestricted permission, 
        // make this permission unrestricted.
        String^ attributeString = 
            (String^) element->Attributes["Unrestricted"];
        if (attributeString != nullptr)
        {
            specifiedAsUnrestricted = Convert::ToBoolean(attributeString);
            if (specifiedAsUnrestricted)
            {
                stateFlags = SoundPermissionState::PlayAnySound;
            }
        }

        // If XML indicates a restricted permission, parse the flags.
        if (!specifiedAsUnrestricted)
        {
            attributeString = (String^) element->Attributes["Flags"];
            if (attributeString != nullptr)
            {
                stateFlags = (SoundPermissionState) Convert::ToInt32(
                    Enum::Parse(SoundPermissionState::typeid, 
                    attributeString, true));
            }
        }
    }

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

ISecurityEncodable-Schnittstelle
ISecurityEncodable-Member
System.Security-Namespace