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
W poniższym przykładzie kodu pokazano implementację FromXml metody . Ten przykład kodu jest częścią większego przykładu udostępnionego 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
Kod niestandardowy, który rozszerza obiekty zabezpieczeń, musi implementować ToXml metody i FromXml , aby obiekty zabezpieczeń można było enododowalne.
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla