我有这个界面
interface IMyInterface
{
object Create(Type t);
}
为方便起见,我还要包含一个包含对方法调用的泛型重载,因此它变为:
interface IMyInterface
{
object Create(Type t);
T Create<T>();
}
新方法将像这样实施
public object Create<T>()
{
return (T) Create(typeof(T));
}
方法的问题:
IMyInteface
如何解决此设计问题?
答案 0 :(得分:12)
最好的解决方案是使用扩展方法:
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css">
<ul id="selectable">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
然后可以像常规方法一样调用扩展方法。