Войти
ПрограммированиеФорумОбщее

C# обертка структуры для преобразования в объект.

#0
(Правка: 2:31) 2:05, 12 июля 2019

Есть ли какая то возможность в C# передать структуру как класс? Допустим класс обертка, который позволяет достучаться к оригинальным данным хранящимся изначально в структуре. Или есть конструкторы, которые создают список полей как объект.

Если взять GetEnumerator() от массива структур то IEnumerator будет от объекта. Если взять сам енумератор, то это уже объект со ссылкой на Current.


#1
(Правка: 6:33) 6:33, 12 июля 2019

foxes
> Есть ли какая то возможность в C# передать структуру как класс?
В смысле передать как класс? Если имеется в виду, что объекты класса по ссылке передаются, то надо функции с ref аргументами и передавать по ссылке.

#2
11:28, 12 июля 2019

animert
В данной ситуации нет возможности использовать ref, в интерфейсе используется object. Я сделал это через массив

struct test
{
  public int a;
  public int b;
}
test[] arr
...
object[] param = new object[] {arr,2};
Теперь param можно передать куда угодно как объект.
#3
(Правка: 15:31) 15:30, 12 июля 2019

Как из вариантов добавь интерфейс
struct test : Itest
через него можешь "ан/боксить"
Ну и...  Itest[] param = new Itest[] {arr,2};

ПрограммированиеФорумОбщее