避免许多继承类

Nob*_*ody 2 c# oop abstract-class types interface

假设我有这个类(仅作为示例):

internal class Packet
{

    private readonly UInt32 _length;
    private readonly Byte _type;
    private readonly UInt32 _requestId;

}
Run Code Online (Sandbox Code Playgroud)

存在许多不同类型的分组,每个分组从该类继承,并且每个分组类型可以具有不同类型的任何数量的属性.

有没有办法在不使用继承的情况下实现每种类型的数据包?

我想过使用一个属性List<Tuple<Type,Value>> _typesSpecificValues- 我知道它不会编译,但我不知道怎么表达我的意思.

我需要避免为每种类型的数据包创建一个继承类,因为有大约50种类型 - 或者我只是懒惰?

Jon*_*eet 7

听起来你应该创建单独的类,是的.

但是,我不确定我是否会将它们从这个课程中衍生出来.听起来这应该在一个Header类(或甚至可能是一个结构)中,然后你可以有多个类,每个类都包含一个Header.