在 wpf 应用程序运行时从 xsd 生成 c# 文件

问题描述 投票:0回答:1

我不确定这是否可行,甚至不是一个好的方法,但我有一个 WPF 应用程序,它使用从 xsd 文件生成的 C# 类。该类是通过在终端中使用 xsd.exe 手动生成的。我想要做的是在运行时生成此类。我希望这样做的原因是提供更新 xsd 的选项,而无需手动生成新的 c# 文件以及使用更新的 xsd 类的代码。

PS。我确实认识到这可能不是最好的主意,考虑到如果有人对 xsd 进行了太多更改,它可能会破坏依赖于该类的代码(假设这首先是可能的)。

c# wpf xsd
1个回答
0
投票

虽然我同意 Klaus 的观点,认为这样做是明智的,但使用代码运行 xsd.exe 并不困难。像这样的事情就可以解决问题:


namepace SomeNameSpace
{
    using System.Diagnostics;

    public static class SomeClassName
    {
        public static void InvokeXsd(string[] args)
        {
            var command = "xsd.exe"; // Note: need path to exe
            var startInfo = new ProcessStartInfo(command, args)
            {
                UseShellExecute = false,
                CreateNoWindow = true
            };
            Process.Start(startInfo)?.WaitForExit();
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.