当前位置:  编程技术>.net/c#/asp.net

C#中分部类和分部方法的应用

    来源: 互联网  发布时间:2014-10-18

    本文导语:  分部类(Partial Class)在C#2.0引入,分部方法(Partial Method)在C#3.0引入,这两个语法特性都具有相同的特性:将类(或)方法的代码分散在多个地方。 1.分部类的特性和应用 1.1分部类的定义 在定义一个类时,加上partial关键字,...

分部类(Partial Class)在C#2.0引入,分部方法(Partial Method)在C#3.0引入,这两个语法特性都具有相同的特性:将类(或)方法的代码分散在多个地方。

1.分部类的特性和应用

1.1分部类的定义

在定义一个类时,加上partial关键字,此类即成为分部类。

分部类允许将一个类的代码分散于一个以上的源代码文件中。

Person.cs代码如下

代码如下:

namespace PartialClassDemo1
 {
     public partial class Person
     {
         private int age;
         Person(int age, string name)
         {
             this.age = age;
             this.name = name;
         }
         public int Age
         {
             get
             {
                 return age;
             }
             set
             {
                 if (age < 0 || age > 120)
                     Console.WriteLine("年龄非法");
                 else
                     this.age = Age;
             }
         }
         static void Main(string[] args)
         {
             Person p = new Person(19,"张三");
             Console.WriteLine(p.Age);
             Console.ReadKey();
         }
     }
 }

Person2.cs代码如下
代码如下:

namespace PartialClassDemo1
{
    public partial class Person
    {
        private string name;
    }
}

使用分部类时,需要注意一下原则:

(1)所有的需要“合并”的类必须都用partial关键字声明。

(2)所有的需要“合并”的类必须位于同一个项目中。

2.为什么要引入分部类

分部类主要用于隔离来源不同,功能不同或者类型不同的源代码

 另外分布特性还可以用具结构和接口

3.分布方法的特性和应用

分布方法允许将方法声明与方法实现代码分布于不同的文件中。与分部类类似,使用partial关键字定义分部方法。

代码如下:

       partial void show(string str);
        partial void show(string str)
        {
            Console.WriteLine(str+"再见");
        }


分布方法不能具有访问修饰符或virtual、abstract、override new sealed 或者extern修饰符

partial修饰符只能出现在紧靠class struct interface void前面的位置

 当分部方法没有实现代码时,C#编译器会在编译时删除其调用语句。

现在我们知道了分部方法有这种特性,但是它有什么用呢?

使用分部方法允许我们在一个普通方法中插入一个方法占位符,从而为编写可随时添加功能的方法提供支持。

分部方法不能有多个实现。


    
 
 

您可能感兴趣的文章:

  • c#中分割字符串的几种方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux中如何用shmget在共享内存中分配一个Map类型的空间?
  • 有关从栈中分配内存的问题
  • 请教:JSP中分页显示数据库内容的优化算法?
  • 关于awk中分割符的问题??
  • 如何在内核中分配一个带有VM_EXEC权限的内存页面?
  • 能否从某个Window分区中分一块出来安装Linux啊?在线等待。。。
  • 请教各位大侠,个如何能实现数据库中分组合计的功能?
  • 在Shell中分割字符串的例子
  • 如何在telnet 中分析回显。求教高手
  • sql server中分页的两种方法介绍
  • 如何在一个字符串中分离出需要的部分
  • Oracle中分页查询的实现
  • 请问哪里有将attachment从邮件中分离出来的例子呀
  • 在线讨论。请问如何在查询的结果中分页?
  • 谁给一个在bean中分页取数据,然后把数据放到arraylist里,然后在页面中调用的例子我就给出100,决不失言!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3