Is there any way to assign a pointer to a CLR type to a `void*` in a C# `unsafe` block?

```
var bar = 1;
var foo = new Foo();

unsafe
{
    void* p1 = &bar;
    void* p2 = &foo; // fails at compile time
}

```

Or this only possible using C++/CLI:

```
System::Text::StringBuilder^ sb = gcnew System::Text::StringBuilder();
void* p1 = &sb; 

```

Can't find any way to make it work in C#