次の方法で共有


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)

プロパティ値

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

次のコード例は、エンドポイント内のデータ コントラクトのエクスポートを変更するカスタム System.Runtime.Serialization.XsdDataContractExporterをアタッチするために派生クラス WsdlImporterState プロパティを使用する方法を示すIWsdlExportExtension.ExportContract メソッドです。

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();

注釈

エンドポイントまたはコントラクトを正常にエクスポートするために必要なMetadataExporter状態データを渡すには、State プロパティを使用します。

適用対象