如何在C#程序中构造类

时间:2014-10-11 19:23:44

标签: c# vsto

我有一个用C#编写的VSTO(Excel)项目。三个问题:

  1. 我有很多变量填充一次,然后在整个项目中广泛引用。所以我创建了一个公共静态类,我打电话给#34; Omni" - 因为这既是描述性的,也是简短的。这样的推荐方法是什么?

  2. 我将常用函数放在一个名为" Utilities"的公共静态类中。然后我用了#34;这个"关键字作为第一个参数,使它们成为扩展方法。然后可以从任何地方访问它们 - 无需使用"实用程序。"前缀(虽然我不确定为什么)。同样的问题:这是首选方式吗?

  3. 最后,我有一些常用的子程序,即public void方法。因此传入并处理参数,但不返回任何内容。这些公共代码是否应该放在自己适当命名的公共静态类中,然后以类名作为前缀进行调用?如果是的话,是否有关于该类名称的约定?

  4. 我意识到这些是新手类型的问题(我一直在搜索!)。感谢。

1 个答案:

答案 0 :(得分:0)

关于你的观点

  

我有很多变量被填充一次然后被引用   整个项目广泛。所以我创建了一个公共静态类   我打电话给#34; Omni" - 因为这既是描述性的,也是简短的。是   这样的推荐方法是什么?

是的,通常的做法是集中处理例如字符串常量 经常使用。

如果你有更多这些,我会开始将它们组织成不同的 类。

如果您希望它具有灵活性,例如有情况下有 常量之间的映射,如Green = 1,我会转向某些 枚举值技术。 有关这个想法的更多信息可以在in this article

找到

如果应用程序的不同启动之间的值没有变化, 检查你是否可以使用资源,这通常是一个不错的选择 对于字符串常量。

  

我将常用函数放在我命名的公共静态类中   "公用设施&#34 ;.然后我用了#34;这个"关键字作为第一个参数,   使它们成为扩展方法。然后可以从中访问它们   任何地方 - 不使用"公用事业。"前缀(虽然我不是   完全确定为什么)。同样的问题:这是首选方式   此?

扩展方法是一种方便的方式来完成转换。 只是不要将所有内容都作为扩展,只需将转换作为经验法则。

  

最后,我有一些常见的子程序,即public void方法。   因此传入并处理参数,但不返回任何内容。   这些公共代码是否应该自己适当地命名为public   静态类,然后以类名作为前缀进行调用?如果   那么,是否有关于班级名称的约定?

与其他人相反,这看起来像是一个设计缺陷。 也许您可以提供有关这些子例程的更多信息。

在面向对象的代码中,代码分布在它正在工作的对象附近 用。如果你非常依赖静态类中的代码,可能就在那里 是错的。你的静态类有成员吗?他们分享一些吗? 不同的静态类调用之间的知识?