インターフェイスに、クライアント アプリケーションで作成および表示されるServiceContract
関連する操作を 1 つ追加します。Department
Department
Section
Department にはセクションのリストが含まれているため、セクションも公開されます。
[ServiceContract]
public interface IService1
{
[OperationContract]
Room GetRoom();
[OperationContract]
List<Department> GetDepartments();
}
説明
Svcutil.exeを使用して確認できます。
ユーザー定義クラスの操作コントラクトが存在しない場合は、definition won't emit in proxy class
Svcutil を使用して生成されます。
の 2 番目の操作コントラクトを省略するとDepartment
、クラスのみRoom
がプロキシ クラスで発行されます。したがって、クラスをクライアントに表示するには、クラスに少なくとも 1 つの操作コントラクトが必要です。
Room の PROXY クラス:
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization",
"4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="Room",
Namespace="http://schemas.datacontract.org/2004/07/DummyService")]
public partial class Room : object,
System.Runtime.Serialization.IExtensibleDataObject
{
private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
private uint RoomIdField;
public System.Runtime.Serialization.ExtensionDataObject ExtensionData
{
get
{
return this.extensionDataField;
}
set
{
this.extensionDataField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public uint RoomId
{
get
{
return this.RoomIdField;
}
set
{
this.RoomIdField = value;
}
}
}