我希望下面代码中的Data的类型是由网络请求返回的响应体类型决定,请问我该如何修改 [DataContract] public class ResponseResult { public ResponseResult() { } [DataMember(Name = "message")] public string Message { get; set; } [DataMember(Name = "code")] private int Code { get; set; } [DataMember(Name = "data")] public object Data { get; set; } }
时间: 2024-04-08 07:35:35 浏览: 55
C#例子代码 A0101_Serializable
要使 `Data` 的类型由网络请求返回的响应体类型决定,您可以使用泛型来定义 `ResponseResult` 类。
以下是修改后的代码示例:
```csharp
using System.Runtime.Serialization;
[DataContract]
public class ResponseResult<T>
{
public ResponseResult() { }
[DataMember(Name = "message")]
public string Message { get; set; }
[DataMember(Name = "code")]
private int Code { get; set; }
[DataMember(Name = "data")]
public T Data { get; set; }
}
```
在上面的示例中,我们将 `ResponseResult` 类改为泛型类,并使用类型参数 `T` 来表示 `Data` 的类型。这样,您可以根据实际的响应体类型来实例化 `ResponseResult` 对象。
例如,如果响应体类型为 `User`,您可以使用以下方式实例化 `ResponseResult<User>` 对象:
```csharp
ResponseResult<User> response = new ResponseResult<User>();
response.Data = responseData; // 设置响应体数据
```
这样,根据网络请求返回的响应体类型,`Data` 的类型会相应地变化。
阅读全文