ISecurityEncodable.ToXml 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建安全对象及其当前状态的 XML 编码。
public:
System::Security::SecurityElement ^ ToXml();
public System.Security.SecurityElement? ToXml ();
public System.Security.SecurityElement ToXml ();
abstract member ToXml : unit -> System.Security.SecurityElement
Public Function ToXml () As SecurityElement
返回
安全对象的 XML 编码,包括任何状态信息。
示例
下面的代码示例演示如何实现 FromXml 方法。 此代码示例是为 ISecurityEncodable 类提供的一个更大示例的一部分。
// Produce XML from the permission's fields.
public:
virtual SecurityElement^ ToXml() override
{
// These first three lines create an element with the required format.
SecurityElement^ element = gcnew SecurityElement("IPermission");
// Replace the double quotation marks ()
// with single quotation marks ()
// to remain XML compliant when the culture is not neutral.
element->AddAttribute("class",
GetType()->AssemblyQualifiedName->Replace('\"', '\''));
element->AddAttribute("version", "1");
if (!specifiedAsUnrestricted)
{
element->AddAttribute("Flags",
Enum::Format(SoundPermissionState::typeid, stateFlags, "G"));
}
else
{
element->AddAttribute("Unrestricted", "true");
}
return element;
}
// Produce XML from the permission's fields.
public override SecurityElement ToXml()
{
// These first three lines create an element with the required format.
SecurityElement e = new SecurityElement("IPermission");
// Replace the double quotation marks ("") with single quotation marks ('')
// to remain XML compliant when the culture is not neutral.
e.AddAttribute("class", GetType().AssemblyQualifiedName.Replace('\"', '\''));
e.AddAttribute("version", "1");
if (!m_specifiedAsUnrestricted)
e.AddAttribute("Flags", Enum.Format(typeof(SoundPermissionState), m_flags, "G"));
else
e.AddAttribute("Unrestricted", "true");
return e;
}
' Produce XML from the permission's fields.
Public Overrides Function ToXml() As SecurityElement
' These first three lines create an element with the required format.
Dim e As New SecurityElement("IPermission")
' Replace the double quotation marks ("") with single quotation marks ('')
' to remain XML compliant when the culture is not neutral.
e.AddAttribute("class", [GetType]().AssemblyQualifiedName.Replace(ControlChars.Quote, "'"c))
e.AddAttribute("version", "1")
If Not m_specifiedAsUnrestricted Then
e.AddAttribute("Flags", [Enum].Format(GetType(SoundPermissionState), m_flags, "G"))
Else
e.AddAttribute("Unrestricted", "true")
End If
Return e
End Function 'ToXml
注解
扩展安全对象的自定义代码需要实现 ToXml 和 FromXml 方法,以使对象具有安全性。