部分类

 partial关键字允许吧类、结构、方法或接口放在多个文件中。

假设以下User类被一分为二:

User.cs

 1 public abstract class BaseUser
 2 {
 3     protected BaseUser(string id)
 4     {
 5         Id = id;
 6     }
 7     public string Id { get; set; }
 8 }
 9 
10 public partial class User : BaseUser
11 {
12     public string Name { get; set; }
13 
14     public User(string id) 
15         : base(id)
16     {
17     }
18 }

User2.cs

public interface IUser
{
    void Delete(string userId);
}
public partial class User : IUser
{
    public void Delete(string userId)
    {
        throw new NotImplementedException();
    }
}

最终编译后会被合并,所有的继承与实现,最终如下:

 1 public class User : BaseUser, IUser
 2 {
 3     public string Name { get; set; }
 4     public User(string id) : base(id)
 5     {
 6     }
 7     public void Delete(string userId)
 8     {
 9         throw new NotImplementedException();
10     }
11 }
posted @ 2020-04-12 19:48  VTing4You  阅读(155)  评论(0编辑  收藏  举报