Я действительно не знаю, как вы хотите это использовать, поэтому довольно сложно дать такой общий совет в кратком ответе.
На самом базовом уровне, я бы сказал, вы можете просто использоватьgetter и setter вот так:
public class Class1 {
public int A { get; set; }
}
public class Class2 {
public int B { get; private set; }
public Class2 {
B = 42;
}
}
public class SomeClass {
Class1 class1 = new Class1();
Class2 class2 = new Class2();
...
private void SomeMethod() {
class1.A = class2.B;
}
...
}
Я согласен с st_stefanov, что вы не захотите использовать публичные переменные.