Вы не можете (или, возможно, не должны это то, что я ищу).
Если класс не предназначен для сериализации и не предоставляет вам средств для его клонирования (т. Е. В форме метода клонирования или копирования), вы не можете легко сделать это автоматически. (И, кроме того, если это средство не предоставляется, то, вероятно, вам не следует этого делать, поскольку класс, вероятно, не предназначен для этого типа использования.)
Однако, если вы действительно хотите это сделать и находитесь в среде полного доверия, тогда, конечно, вы можете сделать некоторые грязные вещи, используя FormatterServices.GetUninitializedObject
, а затем используя отражение, чтобы скопировать значения полей из одного объекта в другой. , Но это почти наверняка плохая идея.