.NET 中扩展方法的一个有趣方面是您可以将它们应用于接口。对我来说,我可以在接口附近定义功能而不定义使程序集混乱的抽象类似乎很好。
我知道抽象类并没有过时或任何东西,但是您对在代码中使用这种副作用有何感想?
例子:
public static class IUserExtensions
{
public static bool IsCurrentUser(this IUser user)
{
return (HttpContext.Current.User != null &&
HttpContext.Current.User.Identity.Name == user.ID.ToString());
}
}
public interface IUser {
int ID { get; set; }
}