我正在使用某个程序集中的类(源代码不可用),因此无法更改它们的代码 我需要为显式转换运算符添加扩展方法,有什么办法可以实现吗? (我尝试添加为常规扩展方法,但没有成功)
public static explicit operator MembershipUser(this MembershipUser membership, User user)
{
return new MembershipUser("SimplyMembershipProvider", user.UserName, user.UserId, user.Email, null, null, user.IsApproved, user.IsLocked,
user.CreateDate, user.LastLoginDate, user.LastActivityDate, user.CreateDate, DateTime.MinValue);
}
我该如何解决这个问题?
最佳答案
您不能通过扩展方法重载运算符。
最好使用扩展方法:
public static MembershipUser ConvertToMembershipUser(this User user)
{
return new MembershipUser("SimplyMembershipProvider",
user.UserName,
user.UserId,
user.Email,
null,
null,
user.IsApproved,
user.IsLocked,
user.CreateDate,
user.LastLoginDate,
user.LastActivityDate,
user.CreateDate,
DateTime.MinValue);
}
MembershipUser membershipUser = aUser.ConvertToMembershipUser();
关于c# - 扩展方法和显式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8306614/