Я заселение некоторых свойств класса,Установка свойства класса на длинном бегущей нити
Один из них включает в себя сериализацию структуры сущностей в байты [], это занимает некоторое время, так что я хотел бы сделать это в потоке.
Значение никогда не устанавливается, поскольку я предполагаю, что класс и поток теперь выходят за рамки.
код находится ниже, любые идеи будут оценены
public class classA
{
public void DoSomething()
{
var classC = new ClassB().DoSomethingElse();
//SAVE CLASS c to database
var serialized = classC.GetSerializedDataTable(); // is always null unless i take out the task from class c
}
}
public class ClassB
{
public ClassC DoSomethingElse()
{
var classC = new ClassC();
classC.DataTableValue = new DataTable();
classC.SerializeToByteArray();
return classC;
}
}
public class ClassC
{
public DataTable DataTableValue { get; set; }
private byte[] serializedData;
public void SerializedDataTable()
{
new Task(() => this.serializedData = this.DataTableValue.SerializeToByteArray()).Start();
}
public byte[] GetSerializedDataTable()
{
return this.serializedData;
}
}
Совсем немного кода, но еще не завершен. –
Привет Хенк, да, я просто сделал это как пример псевдокода, мой код это намного больше, чем это, но по существу это дает фон тому, что я делаю, в основном я запускаю задачу, и когда я пытаюсь сохранить desirialized значение, его всегда null, вероятно, потому что задача и класс стали недоступны? когда я вынимаю задачу, она явно работает ... – MicroMan
Не могу сказать. Слишком много псевдо нехорошо. И как вы знаете, что Задача завершена? –