使用C#和NET 4.0,我有两个实现内部接口(IMethod)的公共接口(IAsyncMethod和ISyncMethod),我需要将公共访问修饰符前两个,内部的第三个,所以我可以只为另一个dll/project/developer启用两个公共接口。如何限制访问由其他公共接口实现的内部接口
internal interface IPaymentMethod
{
XmlDocument StartTransaction(XmlDocument parameters);
XmlDocument QueryTransaction(XmlDocument parameters);
}
public interface ISyncMethod : IMethod
{
void EndTransaction(TransactionDTO parameter);
}
public interface IAsyncMethod : IMethod
{
void EndTransaction(TransactionDTO parameter);
}
当我生成项目,我收到这些错误:
Inconsistent accessibility: base interface 'IMethod' is less accessible than interface 'ISyncMethod'
Inconsistent accessibility: base interface 'IMethod' is less accessible than interface 'IAsyncMethod'
如何我将设置修饰符,让我需要的行为?