class A
{
public int x { get; set; }
// other properties
}
class S
{
public A GetA(...);
}
доступа Я хотел бы сделать следующее ограничение:
A
может быть изменен только внутри S
. Когда кто-то получит A
через GetA()
, он может только получить A
's свойства, а не изменять их.членов C# класса выпуск
я решил сделать новую функцию в S
, который возвращает другой объект:
class B
{
A a;
public int x { get { return a.x; } }
// replicate other A's properties
}
Есть ли лучшее решение?
+1 Мы думаем одинаково :). Удалил мой ответ. –
Я думаю, что одним из его требований является то, что * A можно изменить только внутри S *. Но теперь «А» можно изменить везде, если кому-то удастся его получить. Речь идет о том, чтобы сделать его трудным для конечного пользователя, возможно, в нем больше вложено «A». – nawfal
Благодарим вас за комментарий. На самом деле мне нужен A, который должен быть изменен внутри пространства имен, в котором находится S, поэтому я решил использовать private A – Ivan