一种理论问题.很长一段时间,如果你没有理论的心情,请随意跳过.
想象一下,你有两个类,一个继承自另一个.基类是通用的,并且有一个方法,在闭合类型中必须返回此闭合类型的某个实例.
像这样(注意文字中的???):
public class Adapter<T>
{
public virtual ??? DoSomething()
{
...
}
}
public class AdaptedString : Adapter<String>
{
public override AdaptedString DoSomething()
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
我不能这样做,因为没有办法引用将从泛型类型派生的闭合类型.(对不起破解语言,只是不知道如何表达它.)没有设置关键字???来指定此方法将返回将从此泛型类型派生的类型实例.
相反,我可以使用显式将类型名称传递给通用基础的变通方法.但它看起来多余.
public class Adapter<TThis,T>
{
public virtual TThis DoSomething()
{
...
}
}
public class AdaptedString : Adapter<AdaptedString,String>
{
public override AdaptedString DoSomething()
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
如果在基类中我需要访问TThis实例的成员,我必须添加一个约束.这一次看起来很难看 - 请注意约束:
public class Adapter<TThis,T>
where TThis : Adapter<TThis, T>
{
protected int _field;
...
public …Run Code Online (Sandbox Code Playgroud) 在C中,我通常使用getch()函数来等待按下一个键然后结束程序,但是最近我读到了,因为它不是标准函数,所以使用它是不好的编程习惯.
因此,而不是以下:
int main() {
dosomething();
getch(); //wait for the user to see the results and press a key to end
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能更换getch?
我必须将DefaultListModel(在列表框中)的所有元素放入一个List<Object>.我怎么能用Java做到这一点?
如何向Microsoft Access报表添加按钮以将其导出到Excel/PDF?
有没有办法更改我的SQL Server Management Studio的窗口标题,以显示我连接到的当前服务器?
要知道我连接到哪个DB,我必须一直向上滚动以查看服务器的名称,这很痛苦.
也许有一个可用的插件或东西.
如果我在他的网站上使用微格式来完成所有可能的事情,我的客户可以获得哪些实际好处?
如何向非技术客户解释这些好处?
我正在做一个相当详尽的DOM操作系列,其中一些元素(特别是表单元素)有一些事件.
我正在动态创建(实际上是从源元素克隆)几个<select>框并为它们分配一个change()事件.
更改事件执行,并且在事件的上下文中,"this"是HTML元素对象.
但是,此时我需要做的是确定此HTML元素对象的上下文.我将这些对象存储为各种数组中的jQuery实体,但很明显
[HTMLElement Object] != [Object Object]
而诀窍在于我无法转换$(this)并进行有效的比较,因为这会创建一个新对象并且指针会有所不同.
所以......我一直在反对这个问题.在过去,我已经能够通过进行innerHTML比较来规避这个问题,但在这种情况下,我比较的对象是100%相同的,只是有很多.因此,我需要一个可靠的比较.
如果我能以某种方式从我的原始jQuery对象派生HTMLElement对象,这将很容易.
思想,其他想法?救命.:(
Visual Studio 2010转移到使用WPF渲染编辑器.当我编辑代码时,这会导致速度减慢,特别是如果我正在运行其他使用其他视频功能的东西.
我怎样才能加快速度呢?一个新的视频卡?新司机?设置?
WPF使用什么技术来渲染以及哪些视频卡可以补充它?
您好,
我有一个绑定到 XML 源的 DataGridView。
我怎样才能实现这个目标?
是否可以将XPI绑定格式的firefox插件解码为本地语言XUL?
我只是想学习如何制作插件.所以,我想如果我可以解码一个Firefox插件,那么我可以学习插件架构!
.net ×2
c# ×2
c ×1
comparison ×1
datagridview ×1
decompiling ×1
dom ×1
firefox ×1
generics ×1
html ×1
java ×1
javascript ×1
jquery ×1
microformats ×1
ms-access ×1
report ×1
semantic-web ×1
sql-server ×1
ssms ×1
vba ×1
winforms ×1
wpf ×1
xhtml ×1
xpi ×1
xul ×1