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 メソッドは、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)
パラメーター
セキュリティ オブジェクトの再構築に使用する 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
注釈
名前付きアクセス許可セット参照を解決するために、ポリシー レベルのコンテキストが提供されます。 たとえば、コード グループはポリシー レベルを使用して名前付きアクセス許可セットを検索します。