剖析Hello、world程序

认识class和namespace

类(class):是构成程序的主题
名称空间(namespace):以树形结构组织类(和其他类型)

例如Button类

  1. namespace Helloword
  2. {
  3. class program
  4. {
  5. static void Main {string[] args}
  6. {
  7. Console.Writeline["Hello world!"];
  8. ///System.console.Writeline[“Hello world!”];
  9. }
  10. }
  11. }

使用namespace调用命名空间中的class
缺失调用库是,可使用“鼠标”点碰触class,点击弹出namespace,或者可使用“ctrl”+“.”达到同样效果

  1. using System

不同namespace中的class可能重名,不可全部导入namespace,会存在namespace冲突;
当使用class冲突时,

  • 必须完全限定使用范围
  • 使用名称空间/类型别名来消除类型的歧义 ```csharp using ERPUtils = MyCompany.ERP.Utilities; using BCUtils = MyCompany.Barcode.Utilities;

public void MyMethod() { var a = ERPUtils.Method(); var b = BCUtils.Method(); } ```

  • 在using中直接重新定义

class和namespace存在在类库当中

类库(Dynamic Link Library)的引用

类库引用是使用namespace的物理基础
不同的技术类型的项目会默认引用不同的类库

DLL引用(黑盒引用)

黑盒引用若发生,无法修改,只能由创建者修改
尽量使用弱依赖构建程序

  • 右击rendence点击添加DLL(系统本身集成DLL、第三方书写DLL)

存在一些DLL需要一些依赖DLL才可以使用
NuGet: 添加可使用Manager NuGet Packages一次性添加所有底层DLL

项目引用(白盒引用)

一个项目可以被多个solution调用

  • 右击solution,add,Existing Project,找到项目并添加;右击Rendence,solution,添加项目DLL

依赖关系

类(或者对象)之间的耦合关系
优秀1的程序追求“高内聚低耦合”

排除错误

仔细阅读编译器的报错
MSDN文档与Edge结合