Имеется такая ситуация
struct Point
{
int x;
int y;
public void SetX(int a){ ... }
public void SetY(int a){ ... }
}
class A
{
Point cord = new Point();
public Point Cord
{
get { return cord; }
}
public void MethodA(int a)
{
cord.SetX(a); //здесь все ок
}
}
class B
{
A myObj = new A();
public Point Cord
{
get { return cord; }
}
public void MethodB(int a)
{
myObj.Cord.SetX(a); //а здесь не присваивает значение
}
}
В классе А метод отрабатывает верно, а в классе B нет( заходит в метод , где то чему то значение присваивает , но в объекте myObj и в его поле cord типа Point нет) Интересно чему все таки это значение присваивается и почему с классами работает, а со структурой нет.
Потому что структура это ValueType и копируется полностью.
В результате вызова
get { return cord; }
Будет новый объект структуры, в котором ты и вызываешь метод SetX
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Краткий, может быть глупый вопрос: как при создании List<тип> выделить сразу память под n Элементов? Конструктор позволяет задать только примерную...
Привет изучаю сокеты на c# и для практики есть такая идеяЕсть два простеньких приложения сервер и клиент