Сериализация или сброс несериализуемого объекта как части сериализуемого объекта (C #) - PullRequest
0 голосов
/ 06 декабря 2018

Допустим, у меня есть объект класса MyClass с объектом SerialPort в нем.Я пытаюсь сериализовать и сохранить в файл мой объект «MyClass», но не могу, потому что объекты класса SerialPort не сериализуемы.Переходя к погоне, у меня что-то вроде этого:

[Serializable]
public class MyClass
{
    public MyClass()
    {

    }
    public SerialPort mySerialPort;

}

Похоже, C # не позволяет мне сбрасывать или изменять тип mySerialPort.Каким будет обходной путь в этой ситуации?

mySerialPort = null; // obviously doesn't work

Мне нужен доступ к последовательному порту из объекта типа MyClass, но он мне не нужен, когда я сериализую его.Есть ли способ передать его в качестве аргумента во время конструирования объекта, чтобы он не был частью объекта?

1 Ответ

0 голосов
/ 06 декабря 2018

Вы можете пометить поле [NonSerialized], чтобы исключить его из сериализации.

...