部分类
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 }