Вы не показали созданных экземпляров - но передача ссылки из одного метода, чтобы неявно создать новый экземпляр, нет. Он копирует ссылку , а не объект . Не имеет значения, находятся ли методы в одной сборке или нет.
Объекты могут быть созданы неявно в такой ситуации, если в них входит неявное преобразование, определенное пользователем. Например:
public void Method1(string x)
{
Method2(x);
}
public void Method2(XNamespace ns)
{
}
Здесь вызов Method2
использует пользовательское неявное преобразование из string
в XNamespace
, которое может создать новый объект. Но если между типом параметра и типом аргумента есть преобразование ссылки (например, если они одного типа или тип параметра метода является базовым классом типа аргумента), то ссылка будет просто копируется как начальное значение параметра.
Все усложняется, если задействованы разные AppDomain
, но я подозреваю, что вы не в этой ситуации (к счастью).