我有一个基础的抽象类用于实现模板方法模式。
public abstract class OptionalParameter
{
//Template Method Pattern
public string GenerateQueryString()
{
return this.GenerateQueryStringWithParameters();
}
}
我有一个适用于所有OptionalParameter类型的扩展方法。
public static class OptionalParameterExtensions
{
public static string GenerateQueryStringWithParameters(this OptionalParameter optionalParameters)
{
}
}
我继承了OptionalParameter类并将其命名为CalendarEventParameter。
public class CalendarEventParameters : OptionalParameter
{
}
当我想要创建CalenderEventParameter
的实例时,我看到抽象类中既有GenerateQueryString()
方法,也有扩展方法GenerateQueryStringWithParameters()
。
我不想在派生类中看到它。我试过把扩展方法标记为私有,但这样我也无法从我的抽象类中访问它。
是否可能只允许从基本抽象类调用扩展方法?