2017-02-16 5 views
0

私のWCFインターフェイスは、次のようになります属性クライアントコードの場合は、次のようにこのメソッドを使用します。名前変更WCFジェネリッククラスは

ただし、生成されたクラスのプロパティESS、例えば、私はこれを行うことはできません。

var value = result[0].Value; // cannot access property, does not compile 

を私は私のFoo<T>クラスの[DataContract(Name = "FooOf{0}")]一部を除去することにより、まったく同じことを行うことができると私はプロパティにアクセスすることができ、問題FooOfStringCHtiIp13に変更された生成クラスの名前ですが、それは醜いように見えますが、私はそれを少し読みやすくするために名前を変更しようとしています。ただし、この操作は現在動作します:

これはシリアル化されていないと私はこれを正しく使用していないように感じます。どのようにこれを正しく達成するための任意のアイデア?

+0

'FooOfは{0} '、FooOfT''に生成されたクラス名をフォーマットここで 'T'は私の場合' Bar' – Peroxy

+1

ValueプロパティにDataMember属性を追加しようとしていますか? – Joe

+0

あなたのコメントを書いたように私はちょうどそれを試みた。それは問題だった – Peroxy

答えて

0

は問題がFoo<T>クラスの私のValue財産にあった、私は私の財産にDataMemberAttributeを追加する必要がありました、私の問題を解決:

[DataContract(Name = "FooOf{0}")] 
public class Foo<T> 
{ 
    [DataMemberAttribute(Name = "Value")] 
    public T Value { get; set; } 
}