Sha*_*rot 1 c# enumeration dynamic
在JavaScript中,我可以在每个单元格中拥有一组不同的对象,并且在枚举它时,每个单元格将被视为对象,而不是作为集合的底层公共对象.
可以说我有两个对象:
class car
{
public color;
...
}
class paint
{
public color;
...
}
Run Code Online (Sandbox Code Playgroud)
是否存在类似于enumaration的语法
car beemer;
paint panda;
...
foreach (thing in [beemer, panda])
{
thing.color = "red";
}
Run Code Online (Sandbox Code Playgroud)
在c#?
好吧,如果你真的想要,你可以使用动态类型:
public class Paint
{
public string Color { get; set; }
}
public class Car
{
public string Color { get; set; }
}
...
var objects = new object[]
{
new Car { Color = "Red" },
new Panda { Color = "Black" }
};
foreach (dynamic value in objects)
{
Console.WriteLine(value.Color);
}
Run Code Online (Sandbox Code Playgroud)
但是,使用所需的属性声明接口会更常规,然后使所有相关类型实现接口:
public interface IColored
{
string Color { get; set; }
}
public class Paint : IColored
{
public string Color { get; set; }
}
public class Car : IColored
{
public string Color { get; set; }
}
...
var objects = new IColored[]
{
new Car { Color = "Red" },
new Panda { Color = "Black" }
};
foreach (IColored value in objects)
{
Console.WriteLine(value.Color);
}
Run Code Online (Sandbox Code Playgroud)
这是:
Color属性.| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |