Gostaria de saber qual é a maneira correta em C# de fazer essencialmente a mesma coisa que este código C++, que contém um ponteiro (referência) para um objeto de classe ou struct. Usarei struct neste exemplo, já que C# trata objetos struct/class de forma diferente.
struct sMyStruct { .. blah .. };
class MyClass {
sMyStruct *RefToStruct=nullptr;
MyClass(sMyStruct *reftostruct)
{
RefToStruct=reftostruct;
}
};
int main(void)
{
sMyStruct *mystruct = new sMyStruct( .. blah .. );
MyClass *c=new MyClass(mystruct);
delete c;
delete mystruct;
}
Na realidade, essa estrutura é criada em outro lugar (fora do meu controle, como parte de um framework, e atualizada dinamicamente) e cada uma se comporta de maneira diferente. MyClass só precisa usar a estrutura correta (escolha do programador), e é por isso que quero manter a referência do objeto na própria classe e não ter que passá-la para cada função/método criado para a classe.