我的理解是,直接将代码写到旧的"static void Main(string[] args)
“中,而不需要显示上面的内容,这是类似的。
但是,我过去常常在类程序中声明我的变量可以从其他类中访问(抱歉,如果不是最佳实践,我自己学习了C#,只要它工作,我对我的代码很满意)。见下面的例子:
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
namespace myNameSpace
{
class Program
{
//variables declaration
public static string abc = "abc";
public static int xyz = 1;
static void Main(string[] args)
{
//code goes here
}
}
}
使用C# 9,我似乎只能在主部分中声明变量,那么如何声明它们才能从其他类访问它们呢?
发布于 2021-12-22 18:04:21
发布于 2022-02-09 23:28:41
我认为目前接受的答案是不正确的,如果您在Program.cs
中抛出部分类签名,您肯定可以添加诸如静态作用域字段和属性这样的内容:
var customAttributes = (CustomAttribute[])typeof(Program).GetCustomAttributes(typeof(CustomAttribute), true);
Console.WriteLine(customAttributes[0].SomePropery);
Console.WriteLine(MyField);
[Custom(SomePropery = "hello world")]
public partial class Program
{
private const string MyField = "value";
}
class CustomAttribute : Attribute
{
public string SomePropery { get; set; }
}
上面的代码和Program.cs
中的任何其他代码都不会输出:
/home/dongus/bazinga/bin/Debug/net6.0/bazinga
hello world
value
Process finished with exit code 0.
我使用此方法将[ExcludeFromCodeCoverage]
属性应用于项目的Program.cs
文件。
https://stackoverflow.com/questions/70453145
复制相似问题