После долгих осмотров (включая ПОДОБНЫЕ, но не одни и те же вопросы), я надеюсь, что мой вопрос будет иметь смысл, и кто-то может помочь мне решить эту проблему.
У меня много классов, скажем ClassA, ClassB, Class C et c и все они существуют по определенным c причинам. У меня есть другой класс, который используется для целей тестирования, и он включает в себя два свойства, которые устанавливаются следующим образом:
public class Test : Countable<TestScenario>
{
//test completed
public bool completed { get; set; } = false;
//break or error (stop further execution) or not
public bool breakOnError { get; set; } = true;
//test result
public bool success { get; set; } = false;
//what did we test
public string testCase { get; set; } = string.Empty;
//what data we got as result
public object testDataResult { get; set; }
public Test()
{
}
}
Моя проблема заключается в следующем: я создаю экземпляр класса, то есть Test myTest = new Test (); et c и мне нужно назначить класс, скажем, myResult (содержащий десятки свойств со значениями).
Мне нужно сделать (что-то вроде) это:
Test myTest = new Test();
myTest.testDataResult = myResult;
Это Можно предположить, что позже, если, например, существует myResult.SomeProperty со значением 18, я хотел бы видеть его из myTest.testDataResult.SomeProperty, т.е.
Console.WriteLine(myTest.testDataResult.SomeProperty.ToString());
//18
Возможно ли это? Просматривая все вокруг Binaryformatters и Reflection, один пример казался также хорошим (https://www.codeproject.com/Articles/1111658/Fast-Deep-Copy-by-Expression-Trees-C-Sharp), упомянутым здесь как ссылка в SO ( Более быстрое глубокое клонирование ), но я не мог сделать это, выше моего уровня опыта.
Может ли кто-нибудь помочь мне, пожалуйста, с рабочим примером?