MetadataExporter.State 属性

定义

获取在元数据的导出中使用的对象的词典。Gets a dictionary of objects used in the export of metadata.

public:
 property System::Collections::Generic::Dictionary<System::Object ^, System::Object ^> ^ State { System::Collections::Generic::Dictionary<System::Object ^, System::Object ^> ^ get(); };
public System.Collections.Generic.Dictionary<object,object> State { get; }
member this.State : System.Collections.Generic.Dictionary<obj, obj>
Public ReadOnly Property State As Dictionary(Of Object, Object)

属性值

Dictionary<Object,Object>

导入程序用于导出协定和终结点的对象的词典。A dictionary of objects used by the importer to export contracts and endpoints.

示例

下面的代码示例为一个 IWsdlExportExtension.ExportContract 方法,该方法演示如何使用 State 派生类的 WsdlImporter 属性来附加用于修改终结点中数据协定的导出的自定义 System.Runtime.Serialization.XsdDataContractExporterThe following code example is an IWsdlExportExtension.ExportContract method that demonstrates how the State property of the derived class WsdlImporter is used to attach a custom System.Runtime.Serialization.XsdDataContractExporter that modifies the export of data contracts in the endpoint.

public void ExportContract(WsdlExporter exporter, WsdlContractConversionContext context)
{
// Add a custom DCAnnotationSurrogate to write data contract comments into the XSD.
object dataContractExporter;
XsdDataContractExporter xsdDCExporter;
if (!exporter.State.TryGetValue(typeof(XsdDataContractExporter), out dataContractExporter))
{
    xsdDCExporter = new XsdDataContractExporter(exporter.GeneratedXmlSchemas);
    exporter.State.Add(typeof(XsdDataContractExporter), xsdDCExporter);
}
else
{
    xsdDCExporter = (XsdDataContractExporter)dataContractExporter;
}

if (xsdDCExporter.Options == null)
    xsdDCExporter.Options = new ExportOptions();
xsdDCExporter.Options.DataContractSurrogate = new DCAnnotationSurrogate();

注解

使用 State 属性可以传递所需的 MetadataExporter 状态数据,以成功导出终结点或协定。Use the State property to pass a MetadataExporter state data required to successfully export endpoints or contracts.

适用于