我想從REST API反序列化xml輸出。解串後,我需要檢查響應是否有有效的數據。typeof(T)的內部列表
public class Response
{
public UserWrapper Users { get; set; }
public MovieWrapper Movies { get; set; }
}
public class UserWrapper
{
[XmlElement("User")]
public User[] UserList { get; set; }
}
public class MovieWrapper
{
[XmlElement("Movie")]
public Movie[] MovieList { get; set; }
}
public static bool isValidUserResponse(this Response response)
{
return response.Users != null && response.Users.UserList != null
}
public static bool isValidMovieResponse(this Response response)
{
return response.Movies!= null && response.Movies.MovieList != null
}
XML響應結構
<Response>
<Users>
<User>...</User>
<User>...</User>
<User>...</User>
</Users>
</Response>
<Response>
<Movies>
<Movie>...</Movie>
<Movie>...</Movie>
<Movie>...</Movie>
</Movies>
</Response>
如何讓我的isValidUserResponse()和isValidMovieResponse()作爲一個通用的方法是什麼?
你不清楚你在問什麼 - 我們不知道'MovieList'會被放到什麼地方,或者'Response'是什麼等等。請提供更多的上下文 - 以及如何做這個的例子*沒有*泛型將是一個好的開始......(我也建議你開始遵循.NET命名約定,並將你的方法體改爲'return response.Users!= null && response.Users.UserList!= null; '。) – 2015-02-11 07:38:34
我會開始將你的列表命名爲'List'而不是'UserList','MovieList'等。這將使得使用接口的匹配成爲可能。 – 2015-02-11 07:41:37
@JonSkeet我已經更新了我的問題。希望這可以幫助。也感謝堅持我的.NET公約。 – 2015-02-11 07:55:53