我正在致力于自动机中的单词识别,并且为了交换信息,我需要创建对象的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ólose pueden procesar tipospúblicos。'
答案 0 :(得分:3)
您需要公开这些类型。 EG
public class Automata . . .