新手提问:为什么如“ListBox.ObjectCollection 类”中类名含“.”?

Ivan Zeng 2016-01-24 11:03:01
新手提问:为什么如“ListBox.ObjectCollection 类”中类名含“.”?
按照类名的命名规范,这应该是非法的呀
...全文
188 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Justin-Liu 2016-01-24
  • 打赏
  • 举报
回复
这是两个类啊
  • 打赏
  • 举报
回复
比如说代码
namespace ConsoleApplication1
{
    class Program
    {

        static void Main(string[] args)
        {
            var x = new XX();
            var y = new ConsoleApplication1.Program.XX();
            Console.Read();
        }

        class XX
        {
            public string MM;
        }
    }
}
这里就分别使用了命名空间的缩写和完整写法,这两种方式。 还可以写
namespace ConsoleApplication1
{
    class Program
    {

        static void Main(string[] args)
        {
            var x = new XX();
            var y = new ConsoleApplication1.Program.XX();
            var z = new ConsoleApplication1.YY.XX();
            Console.Read();
        }

        class XX
        {
            public string MM;
        }
    }

    namespace YY
    {
        class XX
        {
            public string DD;
        }
    }
}
这就可以看出,YY只是一个简写,其实完整的命名空间是 ConsoleApplication1.YY。而第二个XX 也只是一个简写,完整的包含命名空间的引用方式是 ConsoleApplication1.YY.XX。
  • 打赏
  • 举报
回复
class 中可以嵌套定义 class。这里的“.”是命名空间表示的规范中规定的命名空间的一部分,不是类名的一部分。
Ivan Zeng 2016-01-24
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
比如说代码
namespace ConsoleApplication1
{
    class Program
    {

        static void Main(string[] args)
        {
            var x = new XX();
            var y = new ConsoleApplication1.Program.XX();
            Console.Read();
        }

        class XX
        {
            public string MM;
        }
    }
}
这里就分别使用了命名空间的缩写和完整写法,这两种方式。 还可以写
namespace ConsoleApplication1
{
    class Program
    {

        static void Main(string[] args)
        {
            var x = new XX();
            var y = new ConsoleApplication1.Program.XX();
            var z = new ConsoleApplication1.YY.XX();
            Console.Read();
        }

        class XX
        {
            public string MM;
        }
    }

    namespace YY
    {
        class XX
        {
            public string DD;
        }
    }
}
这就可以看出,YY只是一个简写,其实完整的命名空间是 ConsoleApplication1.YY。而第二个XX 也只是一个简写,完整的包含命名空间的引用方式是 ConsoleApplication1.YY.XX。
明白了 谢谢
大气污染是影响公众健康与生态环境的重要问题,精准的空气质量时空预测与污染源贡献度量化是精准治污的关键支撑。针对现有研究多源融合不充分、时空关联刻画不足、预测与源解析割裂三方面缺陷,本文设计实现了城市空气质量时空预测与污染源贡献度分析系统,融合监测、气象、工业排放与交通四数据,构建基于时空注意力的LSTM(STAM-LSTM)预测模型与基于正定矩阵因子分解(PMF)的源解析模型,形成数据融合-特征工程-预测-源解析-可视化闭环。 系统实现四数据时空对齐与融合,构建时序与空间邻域特征,以普通克里金插值生成1km网格浓度场;STAM-LSTM引入时空注意力自适应学习站点间污染传输时变权重,以72小时输入预测未来24小时逐小时PM2.5浓度;PMF识别交通、工业、燃煤、扬尘与二次生成五个源因子,量化各源全年贡献度并分析时空演变。 实验表明:STAM-LSTM预测RMSE 24.6、MAE 17.8、R² 0.88,相对LSTM基线(30.2)提升18.5%;普通克里金插值误差8.9,优于反距离加权(11.4);源解析显示交通源28.4%、工业源23.1%、燃煤源19.6%为主要贡献源,冬季燃煤源升至27.3%、早高峰交通源达34.8%,下风向工业源贡献高出上风向8~12个百分点;减排情景显示交通源减排20%可使年均PM2.5下降5.7%,与源贡献度排序一致。 系统按五模块14组件实现,功能测试16项用例全部通过,为大气污染预警、源管控与减排政策制定提供了决策依据。 【课程报告内容】 摘要 第1章 绪论 第2章 相关技术与理论 第3章 系统需求分析 第4章 系统总体设计 第5章 系统详细设计与实现 第6章 系统测试与分析 第7章 总结与展望 参考文献 附件-实现指南
基于iTransformer-BiGRU-KAN多模型融合的滚动轴承剩余寿命预测研究(Python代码实现)内容概要:本文提出了一种基于iTransformer-BiGRU-KAN多模型融合的滚动轴承剩余寿命预测方法,旨在通过结合多种先进深度学习模型的优势,提升在复杂工况下的预测精度与鲁棒性。该方法利用iTransformer捕捉长期时间序列的全局依赖关系,通过BiGRU模型提取双向时序特征,最后引入KAN(Kernel Attention Network)增强非线性映射与关键特征的自适应加权能力,实现对轴承退化过程的精准建模。文详细介绍了模型架构设计、训练流程及在公开数据集上的实验验证,结果表明该融合模型相比单一模型在预测精度和稳定性方面均有显著提升。; 适合人群:具备一定机器学习与深度学习基础,从事设备故障诊断、工业大数据分析或智能运维相关领域的研究人员及工程技术人员,尤其适合研究生及以上学历或有相关项目经验的专业人员。; 使用场景及目标:①应用于工业设备状态监测与预测性维护系统,实现对滚动轴承等关键部件剩余寿命的精准预测;②为复杂时间序列回归任务提供多模型融合的设计思路与技术参考;③推动深度学习在智能制造与工业物联网领域的落地应用。; 阅读建议:建议读者结合Python代码实现部分,深入理解各子模型的接口设计与融合逻辑,重点关注特征融合机制与注意力权重的可视化分析,以便在实际项目灵活调整与优化模型结构。

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧