次の方法で共有


MetadataExporter.State プロパティ

定義

メタデータのエクスポートで使用するオブジェクトのディクショナリを取得します。

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>

インポーターがコントラクトおよびエンドポイントのエクスポートに使用するオブジェクトのディクショナリ。

IWsdlExportExtension.ExportContract 派生クラスの State プロパティを使用して、エンドポイントでのデータ コントラクトのエクスポートを変更するカスタム WsdlImporter を結び付ける方法を示す System.Runtime.Serialization.XsdDataContractExporter メソッドを次のコード例に示します。

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 状態データを渡します。

適用対象