GacMembershipCondition.FromXml Метод

Определение

Использует заданное XML-кодирование, чтобы восстановить объект безопасности.

Перегрузки

FromXml(SecurityElement)

Использует заданное XML-кодирование, чтобы восстановить объект безопасности.

FromXml(SecurityElement, PolicyLevel)

Использует заданное XML-кодирование, чтобы восстановить объект безопасности с помощью заданного контекста уровня политики.

FromXml(SecurityElement)

Использует заданное XML-кодирование, чтобы восстановить объект безопасности.

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

Параметры

e
SecurityElement

Объект SecurityElement, содержащий кодировку XML, которая используется для восстановления объекта безопасности.

Реализации

Исключения

e имеет значение null.

Параметр e — это недопустимый элемент условия членства.

Примеры

В следующем примере кода показано использование FromXml метода. Этот пример является частью более крупного примера, предоставленного GacMembershipCondition для класса.

GacMembershipCondition ^ Gac1 = gcnew GacMembershipCondition;
GacMembershipCondition ^ Gac2 = gcnew GacMembershipCondition;

// Roundtrip a GacMembershipCondition to and from an XML encoding.
Gac2->FromXml(Gac1->ToXml());
bool result = Gac2->Equals(Gac1);
if (result)
{
    Console::WriteLine("Result of ToXml() = {0}", Gac2->ToXml());
    Console::WriteLine(
        "Result of ToFromXml roundtrip = {0}", Gac2);
}
else
{
    Console::WriteLine(Gac2->ToString());
    Console::WriteLine(Gac1->ToString());
    return false;
}
GacMembershipCondition Gac1 = new GacMembershipCondition();
GacMembershipCondition Gac2 = new GacMembershipCondition();

// Roundtrip a GacMembershipCondition to and from an XML encoding.
Gac2.FromXml(Gac1.ToXml());
bool result = Gac2.Equals(Gac1);
if (result)
{
    Console.WriteLine(
        "Result of ToXml() = " + Gac2.ToXml().ToString());
    Console.WriteLine(
        "Result of ToFromXml roundtrip = " + Gac2.ToString());
}
else
{
    Console.WriteLine(Gac2.ToString());
    Console.WriteLine(Gac1.ToString());
    return false;
}
Dim Gac1 As New GacMembershipCondition
Dim Gac2 As New GacMembershipCondition

' Roundtrip a GacMembershipCondition to and from an XML encoding.
Gac2.FromXml(Gac1.ToXml())
Dim result As Boolean = Gac2.Equals(Gac1)
If result Then
    Console.WriteLine(("Result of ToXml() = " & _ 
        Gac2.ToXml().ToString()))
    Console.WriteLine(("Result of ToFromXml roundtrip = " & _ 
        Gac2.ToString()))
Else
    Console.WriteLine(Gac2.ToString())
    Console.WriteLine(Gac1.ToString())
    Return False
End If

Комментарии

Метод FromXml восстанавливает кодировку GacMembershipCondition XML, определенную классом SecurityElement . ToXml Используйте метод для кодирования GacMembershipCondition XML-кода, включая сведения о состоянии.

Применяется к

FromXml(SecurityElement, PolicyLevel)

Использует заданное XML-кодирование, чтобы восстановить объект безопасности с помощью заданного контекста уровня политики.

public:
 virtual void FromXml(System::Security::SecurityElement ^ e, System::Security::Policy::PolicyLevel ^ level);
public void FromXml (System.Security.SecurityElement e, System.Security.Policy.PolicyLevel level);
abstract member FromXml : System.Security.SecurityElement * System.Security.Policy.PolicyLevel -> unit
override this.FromXml : System.Security.SecurityElement * System.Security.Policy.PolicyLevel -> unit
Public Sub FromXml (e As SecurityElement, level As PolicyLevel)

Параметры

e
SecurityElement

Объект SecurityElement, содержащий кодировку XML, которая используется для восстановления объекта безопасности.

level
PolicyLevel

Контекст PolicyLevel для разрешения ссылок NamedPermissionSet.

Реализации

Исключения

e имеет значение null.

Параметр e — это недопустимый элемент условия членства.

Примеры

В следующем примере кода показано использование FromXml метода. Этот пример является частью более крупного примера, предоставленного GacMembershipCondition для класса.

GacMembershipCondition ^ Gac3 = gcnew GacMembershipCondition;
GacMembershipCondition ^ Gac4 = gcnew GacMembershipCondition;
IEnumerator^ policyEnumerator = SecurityManager::PolicyHierarchy();
while (policyEnumerator->MoveNext())
{
    PolicyLevel^ currentLevel = 
        dynamic_cast<PolicyLevel^>(policyEnumerator->Current);
    if (currentLevel->Label->Equals("Machine"))
    {
        Console::WriteLine("Result of ToXml(level) = {0}", 
            Gac3->ToXml(currentLevel));
        Gac4->FromXml(Gac3->ToXml(), currentLevel);
        Console::WriteLine(
            "Result of FromXml(element, level) = {0}", Gac4);
    }
}
GacMembershipCondition Gac3 = new GacMembershipCondition();
GacMembershipCondition Gac4 = new GacMembershipCondition();
IEnumerator policyEnumerator = SecurityManager.PolicyHierarchy();
while (policyEnumerator.MoveNext())
{
    PolicyLevel currentLevel = 
        (PolicyLevel)policyEnumerator.Current;
    if (currentLevel.Label == "Machine")
    {
        Console.WriteLine("Result of ToXml(level) = " + 
            Gac3.ToXml(currentLevel));
        Gac4.FromXml(Gac3.ToXml(), currentLevel);
        Console.WriteLine("Result of FromXml(element, level) = " + 
            Gac4.ToString());
    }
}
Dim Gac3 As New GacMembershipCondition
Dim Gac4 As New GacMembershipCondition
Dim policyEnumerator As IEnumerator = _
    SecurityManager.PolicyHierarchy()
While policyEnumerator.MoveNext()
    Dim currentLevel As PolicyLevel = _
        CType(policyEnumerator.Current, PolicyLevel)
    If currentLevel.Label = "Machine" Then
        Console.WriteLine(("Result of ToXml(level) = " & _
            Gac3.ToXml(currentLevel).ToString()))
        Gac4.FromXml(Gac3.ToXml(), currentLevel)
        Console.WriteLine(("Result of FromXml(element, level) = " _
            & Gac4.ToString()))
    End If
End While

Комментарии

Контекст уровня политики предоставляется для разрешения ссылок именованных наборов разрешений. Например, группы кода используют уровень политики для поиска именованных наборов разрешений.

Применяется к