Используя только стандартную библиотеку фреймворка .NET, вам придется создать функциональность переноса, исходя из System.Runtime.Remoting.Proxies.RealProxy
.
Эту функциональность вы затем можете применить к своему классу, но этот класс должен быть производным от System.MarshalByRefObject
.
Это довольно строгое ограничение, поэтому вы можете посмотреть на сторонние компоненты, такие как PostSharp.