Вопрос из серии "данет" и "дубликат, гуглить не умеешь".
Мне нужно передавать объект по цепочке в несколько методов, при этом мне нужны только значения в объекте, сам объект менять не нужно.
Есть я напишу
void Q(MyClass myClass) {
W(myClass);
}
void W(MyClass myClass) {
E(myClass);
}
void E(MyClass myClass) {
R(myClass);
}
то каждый раз будет создан новый объект? Нужно ли при передаче указывать ref?
Не особо относится к вопросу, но я хочу поделиться. Для выстраивания цепочек вызовов, вы можете объявить методы, которые принимают ваш объект и возвращают ваш объект. Например, у нас есть класс
public class MyObject { }
И есть методы
public MyObject A(MyObject obj)
{
return obj;
}
public MyObject B(MyObject obj)
{
return obj;
}
public MyObject C(MyObject obj)
{
return obj;
}
тогда цепочка может выглядеть так:
var obj = new MyObject();
C(B(A(obj)));
Ну, или, если методы можно сделать статическими, их можно оформить методами расширения, например
public static class Ext
{
public static MyObject A(this MyObject obj)
{
return obj;
}
public static MyObject B(this MyObject obj)
{
return obj;
}
public static MyObject C(this MyObject obj)
{
return obj;
}
}
Тогда та же самая цепочка будет
var obj = new MyObject();
obj.A().B().C();
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости