C# 将对象类型强制转换为像字符串一样提供的类型
是否可以将对象类型转换为像字符串一样提供的类型 我想做一个喜欢的人C# 将对象类型强制转换为像字符串一样提供的类型,c#,.net,C#,.net,是否可以将对象类型转换为像字符串一样提供的类型 我想做一个喜欢的人 public static class WebAPIManager { public static WebAPIManagerItem ApiAccountLogin { get { return new WebAPIManagerItem { Url = "api/Account/Login", Co
public static class WebAPIManager
{
public static WebAPIManagerItem ApiAccountLogin
{
get
{
return new WebAPIManagerItem { Url = "api/Account/Login", Container = new LoginBindingModel(), ClassType="LoginBindingModel" };
}
}
}
public class WebAPIManagerItem
{
public string Url;
public object Container;
public string ClassType;
}
像这样使用它
var response = await client.PostAsJsonAsync(WebAPIManager.ApiAccountLogin.Url, WebAPIManager.ApiAccountLogin.Container as typeof(WebAPIManager.ApiAccountLogin.ClassType));
我希望你有这个想法
基本上,当我使用webapimager
时,我希望看到一些通用的东西
伙计们,有什么线索吗?谢谢大家
就像我得到的我不能做我需要的。。。
所以我重构了代码
public class WebAPIManager
{
public ApiAccountLogin ApiAccountLogin(string password, string username)
{
return new ApiAccountLogin { Url = "api/Account/Login", Container = new LoginBindingModel() { Password = password, UserName = username } };
}
}
public class ApiAccountLogin
{
public string Url;
public LoginBindingModel Container;
public ApiAccountLogin(string password, string username)
{
Container.Password = password;
Container.UserName = username;
}
public ApiAccountLogin()
{
}
}
用法是
WebAPIManager apiManager = new WebAPIManager();
var apiAccountLogin = apiManager.ApiAccountLogin("test01","test01");
var response = await client.PostAsJsonAsync(apiAccountLogin.Url, apiAccountLogin.Container);
你是说
(webapimager.ApiAccountLogin.ClassType)webapimager.ApiAccountLogin.Container
?@Steven是的!到底有没有可能通过某种方式让这种方法发挥作用?@Steven you can cast to type only-ClassType
Isstring@ClarkKent:啊。。您的ClassType
是一个字符串值。强制转换是编译器为您所做的事情,但是ClassType
的值在运行时会发生变化。因此不可能强制转换这样的东西,因为编译器永远不可能知道类型。@BartoszKP。。我想我需要强制转换它,因为我必须设置类的一些属性。。。coz API方法接受的是具体的类,而不是对象。。。