Hope this helps I suspect the problem isn't that it can't be accessed, at all. I strongly suspect that the problem is that you've got two different requests, and therefore two different instances of WaveFilePlayer - so when you're executing ButtonPlay_Click, the files variable will be null unless you've written some code to persist it between requests. Options here would be view state or some server-side session. You should not use a static variable, as that will basically mean you've got a single variable shared between all requests (for all users).
c++ error: invalid use of member 'calls_object::OBJECT' in static member function
hope this fix your issue Pointers to non-static member functions cannot be converted to plain function pointers. A void (MyClass::*)() requires a MyClass object to operate on. Raw pointers can't hold any sort of state though, so there's no way for a void(*)() to store the information about which MyClass object to operate on. Luckily, the standard library has a class template designed for just this purpose: std::function. std::function is a more-or-less drop-in replacement for raw function pointers, but it can hold any type of callable object that's compatible with a given signature. That means it can hold the state required to call back to a specific instance of a class: