1、向项目中添加类
现在已经准备好向该项目添加一个新类
Project->Add Class添加新类,并且进行命名。
之前建立的代码frmMain是窗体文件,而clsDates是一个类似于纸上的c#徽标。这是强调向项目中添加一个类,而不是添加一个新的Windows窗体。并且在项目中添加了两个引用。System.XML和System.Data。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 类设计实例
{
class clsDate
{
}
}
新建类系统自建代码如上。
在以上代码的基础上进行修改,得到:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ClassDesign
{
class clsDate
{
int scopeClass;
public int MyFunction()
{
int scopeLocal;
for (int scopeBlock = 0; scopeBlock < 20; scopeBlock++)
{
}
}
}
}
下面将会依据上面的程序对一些重要的概念进行剖析。
2、作用域
作用域是指变量的可见性和声明周期。只要某个变量再作用域中,就具有对该变量的访问权限,并且可以在代码中使用它。如果某个变量再作用域之外,那么就相当于该变量不存在。
(1)块作用域
for (int scopeBlock = 0; scopeBlock < 20; scopeBlock++)
{
}
如上面代码中的一部分,变量的作用域从变量的定一点延伸到定义它的代码块的右大括号处。
(2)局部作用域
局部作用域是在方法块内部和语句块外部定义的(也成为方法作用域)。局部作用域从变量定义位置延伸到定义变量的方法的右大括号。
(3)类作用域
类作用域的变量是在类的内部和方法的外部定义的变量。(也称之为模块作用域)类作用域的范围从变量定义的位置扩展到该类的右大括号。
int scopeClass;
以上的变量是作为类作用域变量的示例。
类作用域同时包括了方法和语句块作用域。意味着有类作用域的变量可以同时在方法级和语句块级中使用。换个角度思考:类作用域的变量就是类的属性。类的方法始终有类作用域。
(4)名称空间作用域
名称空间作用域适用于在当前名称空间中定义的任何变量。
命名空间作用域包含当前项目中所有程序元素(类、方法、变量)并且用于区分采用相同名称的程序元素。
namespace ClassDesign
如上,这个语句指出,当前开发的项目名称为classdesign。意味着可以按照如下代码引入程序的入口点:
ClassDesign.frmMain.Main();
使用命名空间作用域的原因:防止该命名空间当中已有的类和方法产生名称冲突。如果两个程序中都有clsDatabase类,则可以应用正确的名称空间使