Chci se zeptat, jak nastavujete případ, kdy jedna třída "umí" několik vlastností, které spolu nějak souvisí? Používáte tzv. Marker Interfaces, kde implementujete prázdná rozhraní, jako třeba takto:
class Person : ISwimmable, IRunnable, IJumpable
{
}
class Fish : ISwimmable
{}
Nebo atributy:
[Feature(CanSwim = true, CanRun = true, CanJump = true)]
class Person
{
}
[Feature(CanSwim = true)]
class Fish
{}
případně
[Feature(CanSwim = true)]
[Feature(CanRun = true)]
[Feature(CanJump = true)]
class Person
{
}
[Feature(CanSwim = true)]
class Fish
{
}
Případně používáte třeba Enum v atributu, s atributem Flags?
|