You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# record类型如何定义可通过类型名访问的const或static属性

问题解答

可以实现,C#不需要像F#那样额外定义同名模块,C#的record类型本质是带默认合成方法的类/结构体,支持和普通类一致的静态成员定义规则,你直接在record内部定义常量即可达到需求:

record Test(int Magic)
{
    // 访问级别可根据实际需求调整,常量值可自定义
    public const int MyMagicConst = 2048;
}

定义完成后就可以直接通过Test.MyMagicConst的形式访问该常量,和你期望的调用方式完全一致。
如果你需要定义不可变的复杂类型固定值,也可以替换为static readonly成员:

record Test(int Magic)
{
    public static readonly Test DefaultTest = new Test(100);
}

内容的提问来源于stack exchange,提问作者dr11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 23:36:03