GacMembershipCondition.FromXml 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用指定的 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)
参数
包含用于重新构造安全对象的 XML 编码的 SecurityElement。
实现
例外
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从类定义的 SecurityElement XML 编码重新构造 AGacMembershipCondition。 ToXml使用该方法对包括状态信息进行 XML 编码GacMembershipCondition。
适用于
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)
参数
包含用于重新构造安全对象的 XML 编码的 SecurityElement。
- 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
注解
为解析命名权限集引用提供了策略级别上下文。 例如,代码组使用策略级别查找命名权限集。