이 코드를 생각해 보자. 직렬화하기 전에 내가 null로 사람의 관리자를 설정하지만 텍스트 파일에서 멋진 결과를 얻을 :C#에서 객체 참조를 관리하는 방법
을{ "이름": "시나", "관리자": { "이름": "Shahrooz"}}
나는 뒤죽박죽이다. 도와주세요.
업데이트 :
내 code.that을 변경 괜찮 :
internal class Program
{
private static void Main(string[] args)
{
var person = new Person { Manager = new Manager { Name = "Shahrooz" }, Name = "Sina" };
Console.WriteLine("I am {0} my manager is {1}", person.Name, person.Manager.Name);
//Outpu:I am Sina my manager is Shahrooz
var x = person.Manager;
person.Manager = null;
add(person);
Console.WriteLine("I am {0} my manager is", person.Name);
person.Manager = x;
Console.ReadLine();
}
public static async void add(Person person)
{
await AddToFile(person);
}
private async static Task AddToFile(Person person)
{
File.WriteAllText(Path.Combine("C:\\", string.Format("{0}.txt", person.Name)), new JavaScriptSerializer().Serialize(person));
}
}
public class Person
{
public string Name { get; set; }
public Manager Manager { get; set; }
}
public class Manager
{
public string Name { get; set; }
}
스레드가 사용자에게 다시 할당되기 전에 스레드가 아직 시작 및 완료되지 않았을 수 있습니다. – Jaapjan
문제를 재현하기 위해이 코드를 작성하시기 바랍니다. 그렇지 않으면이 경우에 스레드를 생성해야하는 이유가 없습니다. –