Вы не можете привести объект к типу, которым он не является.Если он принадлежит другому пространству имен, то это не тот же класс.Вам нужно будет создать конвертер:
public static Namespace1.SomeClass Convert(Namespace2.SomeClass someClass) {
Namespace1.SomeClass rtn = new Namespace1.SomeClass();
rtn.SomeProp = someClass.SomeProp;
rtn.SomeOtherProp = someClass.SomeOtherProp;
return rtn;
}
, вы даже можете использовать отражение, чтобы установить все свойства в Namespace1.SomeClass, которые имеют то же имя, что и Namespace2.SomeClass.
Также, еслиВы владеете кодом одного из классов, вы можете проверить перегрузку явного и неявного в вашем классе.