在派生构造函数中的某些代码块之后调用派生类中的基类构造函数


public class bar
{
   public bar(list<int> id, String x, int size, byte[] bytes)
   {
     ...
   }
}
public class Foo: Bar
{
    public Foo(list<int> id, String x, someEnumType y):
     base(id, x, sizeof(someEnumType), y)
    {
        //some functionality
    }
}

正如您在上面的代码中看到的,我需要在调用基类构造函数之前将 someEnumType 转换为字节数组类型。有没有办法做到这一点?像这样:

public class Foo: Bar
{
    public Foo(list<int> id, String x, someEnumType y)
    {
        //someEnumType to byte array
        base(...)
    }
} 

只需在派生类中创建一个方法并调用它....

public class bar
{
   public bar(list<int> id, String x, int size, byte[] bytes)
   {
     ...
   }
}
public class Foo: Bar
{
    public Foo(list<int> id, String x, someEnumType y):
     base(id, x, sizeof(someEnumType), Convert(y))
    {
        //some functionality
    }
    public static byte[] Convert(SomeEnumType type)
    {
        // do convert
    }
}

相关内容

最新更新