在WPF应用程序中是否需要Main()方法?

12 浏览
0 Comments

在WPF应用程序中是否需要Main()方法?

我对.NET完全陌生,通过运行我在书中遇到的代码来了解C#。

我正在构建一个简单的WPF应用程序,其中包含一个按钮,应该打印出斜边。

我的问题是:在下面的代码示例中,书中有这两个命名空间(Syncfusion和NamespaceDemo)。我是否需要同时包含它们?有什么更好的方法来使用这些代码?其次,当创建一个新的WPF文件和应用程序的按钮时,它会自动生成以下代码:

public MainWindow()
{
    InitializeComponent();
}

我知道MainWindow()是为了包含按钮的设计。它与简单的C#控制台应用程序中的Main()函数有什么不同?

我希望能清楚地解释一下我对如何正确结构化这些不同事物的困惑。我需要一个Main()函数吗?

这是书中的代码:

using static System.Math;
namespace Syncfusion
{
    public class Calc
    {
        public static double Pythagorean(double a, double b)
        {
            double cSquared = Pow(a, 2) + Pow(b, 2);
            return Sqrt(cSquared);
        }
    }
}
using Syncfusion;
using System;
using Crypto = System.Security.Cryptography;
namespace NamespaceDemo
{
    class Program
    {
        static void Main()
        {
            double hypotenuse = Calc.Pythagorean(2, 3);
            Console.WriteLine("Hypotenuse: " + hypotenuse);
            Crypto.AesManaged aes = new Crypto.AesManaged();
            Console.ReadKey();
        }
    }
}

这是我的实现,不幸的是不起作用。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using static System.Math;
namespace Syncfusion
{
    public class Calc
    {
        public static double Pythagorean(double a, double b)
        {
            double cSquared = Pow(a, 2) + Pow(b, 3);
            return Sqrt(cSquared);
        }
    }
    /// 
    /// 交互逻辑的MainWindow.xaml
    /// 
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        void Button_Click(object sender, RoutedEventArgs e)
        {
            double hypotenuse = Calc.Pythagorean(2, 4);
            MessageBox.Show("Hypotenuse: " + hypotenuse);
        }
    }
}

0
0 Comments

所有的C#程序都需要一个静态的Main方法作为入口点。MainWindow是一个类,不是一个入口点。

谢谢。所以我必须把button_Clicked()放在Main()中吗?

不完全是。看起来你根本不需要使用WPF,因为你在使用Console。

我没有使用控制台。我在尝试使用WPF。但是书中的代码是针对控制台的。我在尝试将其改写为WPF的形式。

0