Если вы хотите использовать синтаксис «out» для нескольких возвращаемых значений, вы должны использовать out byte[] tdi
вместо ref byte[] tdi
. Это говорит о том, что вызывающая сторона не должна указывать существующее значение. Это, однако, означает, что вам нужно назначить каждый параметр out перед возвратом из метода.
Чтобы вернуть несколько значений, вы можете использовать синтаксис ValueTuple, то есть
public (byte[] tdi, byte[] tdo, byte[] mask) GetParameterBuff(string[] statement)
Это начало становится нечитаемым, когда вам нужно вернуть много параметров. В этом случае может быть хорошей идеей ввести небольшой класс, то есть
public class MyArrays
{
public byte[] Tdi { get; }
public byte[] Tdo { get; }
public byte[] Mask { get; }
public MyArrays(byte[] tdi, byte[] tdo, byte[] mask)
{
Tdi = tdi;
Tdo = tdo;
Mask = mask;
}
}
Независимо от того, какой метод вы используете, вам нужно будет решить, что возвращать, если некоторые условия не выполняются.
- Исключение
- Нуль
- A Возможно / Опция
- bool, возвращающий успех / неудачу и выходной параметр (и) для значений