NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

8.5.5 System.MarshalByRefObject classes

Classes that derive from the abstract class System.MarshalByRefObject are marshaled across NGWS Runtime context boundaries using proxies (that is, by reference) rather than through copying (that is, by value). This means that an instance of such a class may not be a true instance but instead may just be a stub that marshals data member accesses and method calls across a context boundary.

As a result, it is not possible to create a reference to the storage location of data members defined on such classes. This means that data members of classes derived from System.MarshalByRefObject can not be passed to reference parameters, and methods and data members of data members typed as value types may not be accessed. To mitigate these restrictions, Visual Basic 7.0 treats data members defined on such classes as if they were properties (since the restrictions are the same on properties).