ISecurityEncodable.FromXml(SecurityElement) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rekonstruuje obiekt zabezpieczeń o określonym stanie z kodowania XML.
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)
Parametry
Kodowanie XML używane do odtworzenia obiektu zabezpieczeń.
Przykłady
Poniższy przykład kodu przedstawia implementację FromXml metody. Ten przykład kodu jest częścią większego przykładu podanego ISecurityEncodable dla klasy.
// 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
Uwagi
Niestandardowy kod, który rozszerza obiekty zabezpieczeń, musi zaimplementować ToXml metody i FromXml , aby obiekty zabezpieczeń można było enododable.