我该如何声明我的方法需要任何类?
本文关键字:方法 我的 任何类 声明 何声明 | 更新日期: 2023-09-27 17:54:20
当Method
需要任意string
时,我们写
void method(string str)
{
str="OK";
}
我有一个method
需要任何class
。我的method
:
Void Post()
{
responsefromserver = new JavaScriptSerializer.Deserialize<T>(sr.ReadToEnd());
}
T
-必须是任意class
。但是我不知道我应该如何声明我的method
需要任何class
?
让你的方法泛型并添加泛型参数约束:
void Post<T>()
where T: class
{
responsefromserver = new JavaScriptSerializer.Deserialize<T>(sr.ReadToEnd());
// ...
}
你可以用任何类参数化它:
Post<FooClass>(); // OK if FooClass is a class
Post<int>(); // fail, because integer is a value type
让它通用:
void Post<T>()
{
responsefromserver = new JavaScriptSerializer.Deserialize<T>(sr.ReadToEnd());
}
然后像这样使用:
Post<YourClass>();
如果需要,你可以约束你的泛型方法。
您只需将依赖项作为参数注入,或者在您的情况下-最好注入反序列化器,并且可能不是在Post()
方法级别,而是在类构造器级别,然后在Post()
中重用