DnsPermission::FromXml Method (SecurityElement^)
.NET Framework (current version)
Reconstructs a DnsPermission instance from an XML encoding.
Assembly: System (in System.dll)
Parameters
- securityElement
-
Type:
System.Security::SecurityElement^
The XML encoding to use to reconstruct the DnsPermission instance.
| Exception | Condition |
|---|---|
| ArgumentNullException | securityElement is null. |
| ArgumentException | securityElement is not a DnsPermission element. |
The FromXml method reconstructs a DnsPermission instance from an XML encoding defined by the SecurityElement class.
Use the ToXml method to XML-encode the DnsPermission instance, including state information.
The following example reconstructs a DnsPermission instance from an XML encoding.
public: void ConstructDnsPermission() { try { // Create a DnsPermission instance. DnsPermission^ permission = gcnew DnsPermission( PermissionState::None ); // Create a SecurityElement instance by calling the ToXml method on the // DnsPermission instance. // Print its attributes, which hold the XML encoding of the DnsPermission // instance. Console::WriteLine( "Attributes and Values of 'DnsPermission' instance :" ); PrintKeysAndValues( permission->ToXml()->Attributes ); // Create a SecurityElement instance. SecurityElement^ securityElementObj = gcnew SecurityElement( "IPermission" ); // Add attributes and values of the SecurityElement instance corresponding to // the permission instance. securityElementObj->AddAttribute( "version", "1" ); securityElementObj->AddAttribute( "Unrestricted", "true" ); securityElementObj->AddAttribute( "class", "System.Net.DnsPermission" ); // Reconstruct a DnsPermission instance from an XML encoding. DnsPermission^ permission1 = gcnew DnsPermission( PermissionState::None ); permission1->FromXml( securityElementObj ); // Print the attributes and values of the constructed DnsPermission Object*. Console::WriteLine( "After reconstruction Attributes and Values of new DnsPermission instance :" ); PrintKeysAndValues( permission1->ToXml()->Attributes ); } catch ( NullReferenceException^ e ) { Console::WriteLine( "NullReferenceException caught!!!" ); Console::WriteLine( "Source : {0}", e->Source ); Console::WriteLine( "Message : {0}", e->Message ); } catch ( SecurityException^ e ) { Console::WriteLine( "SecurityException caught!!!" ); Console::WriteLine( "Source : {0}", e->Source ); Console::WriteLine( "Message : {0}", e->Message ); } catch ( ArgumentNullException^ e ) { Console::WriteLine( "ArgumentNullException caught!!!" ); Console::WriteLine( "Source : {0}", e->Source ); Console::WriteLine( "Message : {0}", e->Message ); } catch ( Exception^ e ) { Console::WriteLine( "Exception caught!!!" ); Console::WriteLine( "Source : {0}", e->Source ); Console::WriteLine( "Message : {0}", e->Message ); } } private: void PrintKeysAndValues( Hashtable^ myList ) { // Get the enumerator that can iterate through the hash table. IDictionaryEnumerator^ myEnumerator = myList->GetEnumerator(); Console::WriteLine( "\t-KEY-\t-VALUE-" ); while ( myEnumerator->MoveNext() ) { Console::WriteLine( "\t {0}:\t {1}", myEnumerator->Key, myEnumerator->Value ); } Console::WriteLine(); }
.NET Framework
Available since 1.1
Available since 1.1
Show: