ISecurityEncodable.FromXml(SecurityElement) ISecurityEncodable.FromXml(SecurityElement) ISecurityEncodable.FromXml(SecurityElement) ISecurityEncodable.FromXml(SecurityElement) Method

定義

XML エンコードから指定された状態で、セキュリティ オブジェクトを再構築します。Reconstructs a security object with a specified state from an XML encoding.

public:
 void FromXml(System::Security::SecurityElement ^ e);
public void FromXml (System.Security.SecurityElement e);
abstract member FromXml : System.Security.SecurityElement -> unit
Public Sub FromXml (e As SecurityElement)

パラメーター

e
SecurityElement SecurityElement SecurityElement SecurityElement

セキュリティ オブジェクトの再構築に使用する XML エンコード。The XML encoding to use to reconstruct the security object.

実装する次のコード例に示します、FromXmlメソッド。The following code example demonstrates implementing the FromXml method. このコード例が示されている例の一部、ISecurityEncodableクラス。This code example is part of a larger example provided for the ISecurityEncodable class.

    // 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));
            }
        }
    }
// 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 Overrides Sub FromXml(ByVal e As SecurityElement)
    m_specifiedAsUnrestricted = False
    m_flags = 0

    ' If XML indicates an unrestricted permission, make this permission unrestricted.
    Dim s As String = CStr(e.Attributes("Unrestricted"))
    If Not (s Is Nothing) Then
        m_specifiedAsUnrestricted = Convert.ToBoolean(s)
        If m_specifiedAsUnrestricted Then
            m_flags = SoundPermissionState.PlayAnySound
        End If
    End If
    ' If XML indicates a restricted permission, parse the flags.
    If Not m_specifiedAsUnrestricted Then
        s = CStr(e.Attributes("Flags"))
        If Not (s Is Nothing) Then
            m_flags = CType(Convert.ToInt32([Enum].Parse(GetType(SoundPermission), s, True)), SoundPermissionState)
        End If
    End If

End Sub 'FromXml

注釈

セキュリティ オブジェクトを拡張するカスタム コードを実装する必要があります、ToXmlFromXmlセキュリティ encodable オブジェクトを作成する方法。Custom code that extends security objects needs to implement the ToXml and FromXml methods to make the objects security-encodable.

適用対象