Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 你应该使用表单类吗?_C# - Fatal编程技术网

C# 你应该使用表单类吗?

C# 你应该使用表单类吗?,c#,C#,我对编程非常陌生,我想确保我以“行业标准”的方式做事,因为这通常是最好的方式。我即将开始我的第二个项目,有一个关于我应该如何设计程序的快速问题。我已经考虑过了,决定程序只需要运行一个类,问题是我应该使用form类还是生成另一个类?我不知道为什么我认为这可能是件坏事,我只是觉得可能是 例如,将我的函数放入“public partial class mainForm:Form”类可以吗 编辑:我觉得人们有点把我弄糊涂了,我只是想在表单上放一些按钮,这样-我应该把所有实际的代码,即在forms类中进行

我对编程非常陌生,我想确保我以“行业标准”的方式做事,因为这通常是最好的方式。我即将开始我的第二个项目,有一个关于我应该如何设计程序的快速问题。我已经考虑过了,决定程序只需要运行一个类,问题是我应该使用form类还是生成另一个类?我不知道为什么我认为这可能是件坏事,我只是觉得可能是

例如,将我的函数放入“public partial class mainForm:Form”类可以吗


编辑:我觉得人们有点把我弄糊涂了,我只是想在表单上放一些按钮,这样-我应该把所有实际的代码,即在forms类中进行实际计算的函数,还是应该创建另一个类,然后调用myClass.function?

WinForm

对于简单的UTIL,我建议从配置和粘合事物的服务对象开始。然后你可以做:

Application.Run(applicationObjectThatIMadeEarlier.InitialForm);
回到你习惯的地方


WinForm构造函数可能不确定,因为表单设计器要求(它运行ctor),所以最好不要让WinForm构造函数中的内容出现,这样表单设计器就可以继续工作。

一般来说,是的。只要您只有一个类——在本例中是您的表单——并且在表单之外的任何地方都不需要这些函数

这是个好习惯吗?嗯,不是真的。迟早,你会在不包含一个类或一个表单的项目上工作,你会把所有函数都放在表单中,只是后来发现你在其他地方也需要它们


在这种情况下,您可以这样做,但我个人建议您将它们放在它们自己的类中。

我认为创建从表单类继承的类“只是为了做正确的事情”(除非您谈论的是自生成的代码,在这种情况下从表单类继承)。如果没有继承的意义,就不要使用它。对于windows窗体,如果创建新项目,窗体将自动从窗体继承。不要过度思考你的项目,到时候你就会知道如何把事情做好——这是经验的问题。现在,做你认为应该做的事,多读书,犯错误!您将及时了解项目的外观


祝你好运,并享受编码的乐趣

如果表单中的代码不打算在其他任何地方使用,我就把它留在那里。阅读一点关于关注点分离的内容:您希望使用
表单
类的原因是继承其行为(即作为Windows表单)。是的,分离关注点是强制性阅读:)我不知道“行业标准”,但如果你关心好的代码质量,你最好远离winforms,使用更新的技术。我认为他的意思是,他把他的函数放在创建winforms应用程序时生成的
Form
类中。它生成了一个部分类,一个用于实际表单,另一个用于其背后的代码。我想人们有点把我弄糊涂了,我只是想在表单上放一些按钮,比如——我应该把所有实际的代码,即在forms类中进行实际计算的函数,还是应该创建另一个类,然后调用myClass.function?我试图坚持规则——保持简单,愚蠢。如果不需要创建另一个类,请不要这样做。稍后您将学习诸如IoC和依赖注入之类的内容,然后您可能创建类只是为了将方法放入其中,现在这是无用的。你应该在谷歌上找到一些教程(也许可以在codeproject.com上找到),然后按照它来做你的项目。不要犹豫犯错误!你肯定会从你的作品中学到:)啊,很棒的东西,这就是我需要知道的——非常感谢!好的,非常感谢!我想制作的应用程序使用了steam,您认为这是一种合适的设计方法吗?这没什么错,如果这就是你所有的代码,我就不会麻烦把它变得比需要的更复杂了。