Cra*_*Ste 8 .net c# switch-statement
当我学习C#/ .NET的复杂性时,请原谅愚蠢的爆发
假设我有三个具有多个静态属性的类(超过三个但是为了参数...)
CLASS FOO
public static A
{
get / set A;
}
public static B
{
get / set B;
}
public static C
{
get / set C;
}
CLASS BAR
{
get / set A;
}
public static B
{
get / set B;
}
public static C
{
get / set C;
}
CLASS YOO
{
get / set A;
}
public static B
{
get / set B;
}
public static C
{
get / set C;
}
Run Code Online (Sandbox Code Playgroud)
从另一个类我需要多次更新每个类中的一个或多个静态属性...如何保持编写多个这样的SWITCH语句......
public void updateVarx(string class, string varx)
{
string y = 'class'
SWITCH (y)
{
case FOO:
FOO.A = Varx;
break;
case BAR:
BAR.A = Varx;
break;
case YOO:
YOO.A = Varx;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
然后另一个当我想要更新B varY时:
public void updateVary(string class, string vary)
{
string y = 'class'
SWITCH (y)
{
case FOO:
FOO.B = Vary;
break;
case BAR:
BAR.B = Vary;
break;
case YOO:
YOO.B = Vary;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
也许我不理解这个问题,但如果你的所有类都具有相同的属性,那么你可以将对象(FOO、BAR 或 YOO)传递到 UpdateVarx 或 UpdateVary 方法中并实现一个接口吗?沿着这些思路:
public class FOO : IHasStatus
{
public A
{
get / set A;
}
public B
{
get / set B;
}
public C
{
get / set C;
}
}
public void updateVarx(IHasStatus someObject, string varx)
{
someObject.A = varx;
}
public void updateVary(IHasStatus someObject, string vary)
{
someObject.B = vary;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1299 次 |
| 最近记录: |