我需要定义一个带有内部集合对象的类,以通过字符串键来保存不同类型的值(例如string,int,float,DateTime和bool).我可以使用Hashtable,因为它不是强类型集合类,而Dictionary用于强类型项(尽管我可以使用对象作为Dictionary).
这是我想要定义我的类及其用法的情况:
public class MyBaseClass<D> {
protected Hashtable ht = new Hashtable();
MyClass public SetValue<T>(string key, T value)
{
ht.Add(key, value);
return this;
}
public abstract D GetObject();
}
// Example of using the base class for data as class Data1
public MyClass<Data1> : MyBaseClass<Data1> {
public Data1 GetObject() {
return new Data1 {
Property1 = ht["key1"] as string,
Property2 = Int.Parse(ht["key2"].ToString())
}
}
Run Code Online (Sandbox Code Playgroud)
以上示例,我不确定在MyBaseClass中保存数据的最佳集合是什么?我读了一些关于Hashtable的文章.它是一个过时的集合,与Dictionary集合相比性能要慢得多.我应该使用.Net 3.5中的Dictionary或任何其他可用的集合吗?
我想知道是否可以使用反射在运行时定位对象?这更像是一个实验,而不是一个实际的要求.
我在对象实例上使用.GetType()方法对对象做了各种各样的事情,但我的问题是:如果我知道某个类型的对象在运行时存在,但我不能通过它来引用它名称.
作为一个更具体的例子,假设我有一个加载DLL的WinForms应用程序 - 该DLL如何独立地定位对表单对象的引用以便与表单交互,或者调用公共方法?
这甚至可能吗?
我正在尝试制定一个关于如何花更多时间重构的计划.所以我想与行业标准进行比较,但我很难找到相关的研究或指标.
我觉得花费在重构上的开发时间的20%似乎是一个很好的比例,但我没有任何东西可以显示它.
在我看来,100%或开发时间:
因此,大约有1行代码可以写入2个已发送的产品.显然,设计时间,文档时间等都集成在这些百分比中.
什么是行业标准?根据经验,您的团队使用什么?谢谢,奥利维尔
将焦点设置为动态加载的DIV中的特定字段的正确方法是什么?
$("#display").load("?control=msgs"); // loads the HTML into the DIV
$('#display').fadeIn("fast"); // display it
$("tex#header").focus(); // ?? neither that
$("input#header").focus(); // ?? nor that
$('#display', '#header').focus() // ?? nor that
$("#header").focus(); // ?? nor that works
Run Code Online (Sandbox Code Playgroud)
将以下HTML提取到displayDIV中:
<div id="display">
<form id="newHeaderForm" class="dataform" action="/" method="post">
<input id="to" type="hidden" value="22" name="to"/>
<dl>
<dt>Header</dt>
<dd>
<input id="header" class="large" type="text" name="header" value="" maxlength="128"/>
</dd>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
非常感谢!
请考虑以下代码:
public class A
{
}
public class B : A
{
}
public class C : B
{
}
class D
{
public static bool IsDescendantOf(this System.Type thisType, System.Type thatType)
{
/// ???
}
void Main()
{
A cValue = new C();
C.GetType().IsDescendantOf(cValue.GetType());
}
}
Run Code Online (Sandbox Code Playgroud)
实施IsDescendantOf的最佳方法是什么?
我想知道是否有人可以就Java webapp问题提出建议?
我有一个标准的Java类,它有设置和获取属性文件值的方法.这些方法在系统范围内使用,并且由servlet和非servlet类方法调用.
但我想要做的是使用ServletContextListener来全局设置属性文件的路径,而不是对它们进行硬编码或将它们存储在数据库中.
ServletContextListener可用于使用context.setAttribute("PROP_FILE_PATH","C:\ ...")为servlet设置"全局变量".但有没有办法在servlet外部访问这些变量,或者可以在servlet外部访问ServletContext?
我不认为将ServletContext作为参数传递给我必须获取的类方法,并且由于调用次数,设置属性文件值将是一个可行的选项.
谢谢
马丁
随着微软AJAX CDN的公告,今天上午引发了一场辩论,关于将公共CDN用于公共图书馆是否是内网应用的好主意.我可以看到争论的两个方面,但没有透露太多我们的讨论,我想提出Stack Overflow上的主题,以查看其他人的意见.
好的,我有一个vbscript,遍历一个目录及其子文件夹来检索文件列表.这里的例子:
Set FSO = CreateObject("Scripting.FileSystemObject")
ShowSubfolders FSO.GetFolder("C:\Scripts")
Sub ShowSubFolders(Folder)
For Each Subfolder in Folder.SubFolders
Wscript.Echo Subfolder.Path
ShowSubFolders Subfolder
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
现在这对于获得一个广泛的列表非常有用,但如果有一个深层文件夹层次,那么性能会很糟糕.
所以我的问题是,有没有办法编辑脚本的这一部分,以便它只迭代一定数量的子文件夹级别?由于文件夹结构的深度,钻取的理想数量级别将是3级.
我有一个包含以下列的简单表格:id、name 和 parentID
我在同一张表上创建了id和parentID之间的关系图(在同一张表上),就像简单的树一样,在同一张表上,但是当我尝试用户级联删除时,它被我禁用了
我知道如果我删除父级它会删除他的孩子,这将是递归删除
我有任何选项可以在没有触发器的情况下进行级联删除吗?
我正在使用nhibernate开发一个asp.net mvc项目.目前我认为Rhino Commons会话管理是控制isession的最佳方法.但是我应该从哪里获得Rhino Commons?我发现它位于Horn,Github,认为svn已经过时了.
请指出一个有效的版本.
c# ×3
reflection ×2
.net ×1
asp.net-mvc ×1
cdn ×1
collections ×1
dictionary ×1
file ×1
focus ×1
html ×1
intranet ×1
jquery ×1
nhibernate ×1
properties ×1
refactoring ×1
servlets ×1
setfocus ×1
sql ×1
sql-server ×1
system.type ×1
t-sql ×1
time ×1
type-systems ×1
unit-testing ×1
vbscript ×1