Как создать файл XML объекта - PullRequest
0 голосов
/ 24 мая 2019

Я работаю над распознаванием слов в автоматах, и для обмена информацией мне нужно создать файл XML моего объекта.

уже использует библиотеку, используя System.Xml.Serialization;

[Serializable]
    class Automata
    {
        public List<int> estado_Q { get; set; }
        public List<char> alfabeto_X { get; set; }
        public List<Transicion> ftrans_t { get; set; }
        public int estadoInicio_qo { get; set; }
        public List<int> estadosFinales_F { get; set; }

        public Automata(List<int> Q, List<char> X, List<Transicion> T, int qo, List<int> F)
        {
            estado_Q = Q;
            alfabeto_X = X;
            ftrans_t = T;
            estadoInicio_qo = qo;
            estadosFinales_F = F;

        }

    }`
[Serializable]
    class Transicion
    {
        public int fromEstado { get; set; }
        public char leeyendo { get; set; }
        public int untilEstado { get; set; }


        public Transicion(int iEstado, char leer, int fEstado)
        {
            fromEstado = iEstado;
            leeyendo = leer;
            untilEstado = fEstado;
        }
    }
static void Main(string[] args)
        {
                     Clases.Automata au = new Clases.Automata();

            var automatalista = new Automata();
            XmlSerializer serializer = new XmlSerializer(typeof(List<Automata>));

            using (TextWriter writer = new StreamWriter("C:\\Users\\user\\Downloads\\Temp\\File.xml"))
            {
                serializer.Serialize(writer, automatalista);
            }

        }

Я хочу, чтобы вы сгенерировали файл XML, но я получаю сообщение об ошибке.

System.InvalidOperationException: 'Создать Xml Object.Program без доступной части защиты. Sólo se pueden processar tipos públicos. '

1 Ответ

3 голосов
/ 24 мая 2019

Вы должны сделать типы общедоступными. EG

public class Automata . . .
...