首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建一个由许多子类组成的类库。

创建一个由许多子类组成的类库。
EN

Stack Overflow用户
提问于 2013-01-22 16:24:24
回答 3查看 1.3K关注 0票数 3

这是对我上一个问题阻止我的“实用程序”在不同体系结构之间出现错误的后续,假设我试图创建一个类库,如下所示:

代码语言:javascript
复制
- Class Utility (Parent class)
     ... Utility functions and methods
         (EG: Public Sub Sub1() )

  - Class Utility_Web
       ... Functions and methods only related to Web / Web-Controls
         (EG: Public Sub Web_Sub1() )

  - Class Utility_WinForms
       ... Functions and methods only related to Winforms / WinForm-Controls
         (EG: Public Sub WinForm_Sub1() )

现在,我想要做的是添加Utility dll作为对我的任何项目的引用,并且只需输入以下内容就可以访问所有3个类的函数和方法:

代码语言:javascript
复制
Utility.Sub1
Utility.WebSub1
Utility.WinFormSub1

换句话说,不必键入

代码语言:javascript
复制
Utility.Utility_Web.Websub1

为了使最终程序员不需要知道这个实用程序的内部结构,他们可以用Utility.命名来引用它的所有方法/函数。

我该怎么做?这是NameSpaces生效的地方吗?InheritancePartial ClassesModules而不是类?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-22 16:32:58

如果要使用相同的类名访问这些方法,似乎没有任何理由将它们放在单独的类中。

如果要将代码拆分到多个源文件以用于组织目的,则可以使用部分类

票数 5
EN

Stack Overflow用户

发布于 2013-01-22 16:35:19

这似乎是一个很好的实例,您可能希望使用部分类,所有这些类都使用相同的实用程序名称空间。这将允许您使用Utility.WebSub1访问方法并减少步骤。

票数 2
EN

Stack Overflow用户

发布于 2013-01-22 16:43:33

一个名为Utility的类从一开始就是一个糟糕的类。它的效用是什么?它对你有什么帮助?还有多少人会将类命名为实用程序?

将类命名为它们所做的事情,将它们关联到具有逻辑和功能意义的名称空间中。

假设您正在创建一组静态方法,这些方法可以帮助处理表示Month的类。为什么不将这些方法放入Month中呢?如果要编写方法将数据从一种表示形式转换为另一种表示形式,请以这种方式命名它(即MonthDataTranslation)。

不要担心在客户端或客户端代码上输入。Intellisense和使用语句的C#在很大程度上缓解了这一问题,并给出了在名称错误的、模糊的实用程序类和长的、命名良好的类之间的选择,每次我都会选择后者。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14463235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档