问题:
c# 在winform里如果想自己封装一些常用的函数 直接通过
函数名() 调用 而不是
类名.函数名()
不能实现吗? 必须要类吗? 感觉好多余啊
回答1:
当你把类看作分类来理解的话,你就不会觉得多余了。分门别类,在软件开发中是很重要的一环。
回答2:
写一个静态工具类,把常用的函数放进去,调用起来还是很方便的
回答3:
直接函数名?属于哪里?哪个类?如何存放。
回答4:
不能。是的。
回答5:
在高版本C#中(忘了最低多少)可以实现,用using引用静态类就可以直接调用静态函数
using static System.Math;
void main()
{
var a = Abs(-1);
// var a = Math.Abs(-1);
}
回答6:
其实楼上的“ 默卿 ”说的已经挺准确了。我就说个实际的体验,对于一个通用的工具类库,就当有10个工具类,每个工具类里有10个方法,也就是这个工具类库有100个方法(实际项目更多)。像VS有智能提示吧,比如你想找Math类中的Min方法,但你全称不知道,只知道是M开头,你输入一个M,然后给你把其他类库里的带M的方法显示出来,本来你通过Math.M就只给你两个选项,现在你要在N多选项中找,是不是很头疼。再则,如果其他类也有Min方法,这样就直接冲突了,难道你每个类都要设计不同方法?回答7:
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/extension-methods 可以达到类似效果
回答8:
貌似记得.net 5,c# 9可以省略到这样,你可以深入去学习一下:
https://devblogs.microsoft.com/dotnet/welcome-to-c-9-0/
------------
In C# 9.0 you can just choose to write your main program at the top level instead:
using System;
Console.WriteLine("Hello World!");
c#只是语法,如果是脚本跑,那也是可以的,连main都可以不要。
eg.https://www.cnblogs.com/huapiaoshuiliuxi/p/9471657.html
(不确定是否能打开,给个图)
他人论述论调主要是基于.net framework 、core、mono而谈。
确实这些个目前的版本(net5和c#9还没最终发布)的约定是类(然后规定的几种入口点),这种模式是自编辑器...到最终JIT中的约束形成。
而玩在其他地方(当然你也可以认为它不叫c#,因为按照微软官方才算正统的话,那么每个c#版本微软都写得很清楚)