To be clear, I want the behavior of a pointer-to-a-pointer, and the purpose of this question is to generate clean, readable code.

I have some code that contains conditions checking the result of multiple `Dictionary.TryGetValue` calls. It would be cleaner if it could retrieve all of the required objects with a single call, so I wanted to write an extension that will allow me to do the following:

```
Dictionary<string, string> myDictionary; // Initialized somewhere

string x, y, z;
bool foundAllEntries = myDictionary.TryGetValues({"xvalue", out x}, {"yvalue", out y}, 
    {"zvalue", out z});
if (foundAllEntries)
    ; // Do something with x, y, and z

```

However, I can't figure out a way to pass the extension method references to the objects that will hold the output. This seems like something that should be very basic.

How can I store a reference to a local reference in an object?

**Please note that this question is not asking for alternative approaches to implementing the TryGetValues function.** There are many ways I can make this 'work,' but none generate code as clean as the approach I'm trying to take.