2010-10-20 61 views
2

我有以下數據結構:WCF通用datacontract沒有被序列

[DataContract] 
public class OperationResult<T> 
{ 
    public OperationResult() { } 

    [DataMember] 
    public Int32 OpResult 
    { 
     get;set; 
    } 

    [DataMember] 
    public IList<T> OperationResults 
    { 
     get;set; 
    } 

    public static OperationResult<T> Success(IList<T> results, int numberOfChangedObjects) 
    { 
     OperationResult<T> result = new OperationResult<T>(); 

     result.OpResult = 1; 
     result.OperationResults = results; 

     return result; 
    }   
} 

當我更新服務引用,類沒有被序列化。在服務中,我正在使用所謂的封閉泛型類型 ,例如。

[OperationContract] 
    public OperationResult<Int32> SometTestMethod() 
    { 
     return new OperationResult<Int32> 
        { 
         OpResult = 1, 
         OperationResults = new List<Int32> {1, 2, 3} 
        }; 
    } 

該方法是暴露的,但在這種情況下返回類型OperationResult不可訪問。 我在做什麼wrog? 謝謝

回答

1

我剛剛意識到。我找不到該類型的原因是因爲我正在查找OperationResult。當它被序列化時,它被命名爲OperationResultOfInt。