这是我在这里的第一个问题,所以我希望我能够很好地表达出来,并希望它不会太令人头疼.
我有以下类SubSim扩展了Sim,它扩展了MainSim.在一个完全独立的类(和库)中,我需要检查传递的对象是否是一种MainSim.所以要做以下检查;
Type t = GetType(sim);
//in this case, sim = SubSim
if (t != null)
{
return t.BaseType == typeof(MainSim);
}
显然t.BaseType将返回Sim,因为Type.BaseType获取当前Type直接继承的类型.
除了必须执行t.BaseType.BaseType以获取MainSub之外,还有其他方法可以使用.NET库获取正确的类型吗?或者是否有可以重新定义以返回主类的覆盖?
先感谢您
在要创建UNIQUE(但不是表的主键)的列上创建索引时,SQL Server让我选择以下几个选项:
1)我可以选择它作为约束或索引.
我猜这意味着如果我将它设置为约束,它将不会在查询时使用它,只有在写入时.但是,我能想到的SQL Server强制执行该约束的唯一有效方法是实际构建索引.这个选项有什么用?
2)此外,如果我将其设置为"索引",它让我指定它应该忽略重复键.这对我来说是最令人费解的......
我再次猜测它意味着与约束相反.它可能意味着"在查询时使用它,但在写入时甚至不检查".
但那我为什么要把它设置为独一无二的呢?
我猜测SQL Server可以做一些优化,但我想更好地理解它.
有谁知道SQL Server对这些选项究竟做了什么?
将索引设置为Unique,但忽略重复键的用例是什么?
注意:这适用于SQL Server 2000
编辑:根据你所说的,但是......如果我创建一个约束,它是否会用于加速使用约束中的字段进行过滤的查询?
谢谢!
我喜欢使用Windows Presentation Framework进行编程.大多数情况下,我使用WPF和XAML编写类似浏览器的应用程序.
但真正令我恼火的是WPF的缓慢.一个只有少量控件的简单页面加载速度足够快,但是一旦页面变得太复杂,就像包含大量数据输入字段,一个或两个选项卡控件以及其他内容一样,它会变得很痛苦.
加载此类页面可能需要一秒钟以上.实际上,特别是在没有那么快的计算机(阅读:客户计算机)上它可能需要很长时间.
与更改页面上的值相同.关于WPF UI的一切都是某种程度的笨拙.
这太平均了!他们给了我这个漂亮的框架,但是让它变得非常缓慢,所以我必须一直向我们的客户道歉!
我的问题:
由于这似乎是WPF的普遍问题,我正在寻找一般建议,对许多情况和问题都有用.
其他一些相关问题:
我在这个问题中看到了这句话:
MS支持很差,除非你支付了一份支持合同......那就非常好了. - gbjbaanb
这让我思考.几个月前,我的公司曾与微软发生过两次支持事件(在Stack Overflow上线之前).在这两种情况下,我们都在推动我们正在构建的SharePoint系统的限制,并且API没有公开事件以便在操作完成时通知我们.两次,微软的回应是告诉我们添加一个Thread.Sleep()电话,等待操作完成.
现在,我全都是为社区共同努力回答问题,但有时在网上没有您的问题的答案.
在你无法找到答案的时候,付出的支持对你有价值吗?
如果您已获得Microsoft付费支持的成功,请分享它是什么类型的问题.我试图准确理解支持事件的预期结果.
使用以下文件读取代码:
using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None))
{
using (TextReader tr = new StreamReader(fileStream))
{
string fileContents = tr.ReadToEnd();
}
}
Run Code Online (Sandbox Code Playgroud)
并且以下文件编写代码:
using (TextWriter tw = new StreamWriter(fileName))
{
tw.Write(fileContents);
tw.Close();
}
Run Code Online (Sandbox Code Playgroud)
可以看到以下异常详细信息:
该进程无法访问文件'c:\ temp\myfile.txt',因为它正由另一个进程使用.
避免这种情况的最佳方法是什么?读者是否需要在收到例外后重试,还是有更好的方法?
请注意,阅读器进程使用FileSystemWatcher来了解文件何时更改.
另请注意,在这种情况下,我不是在寻找在两个进程之间共享字符串的替代方法.
我发现很难很好地表达这个问题,因为有很多通用术语(运行,配置,启动等).开始:
您可以将运行配置保存在.launch文件中.(在"运行配置"对话框的"公用"选项卡下,另存为共享文件.
我们检查这些到SVN.开发人员可以传递它们,它有助于让新的开发人员更快地运行工作应用程序.
我想将这些作为构建的一部分进行检查,并使用它们以编程方式运行应用程序,测试等,而无需启动整个IDE.
.launch在UI之外运行文件的最佳方法是什么?
编辑:我试图统一在构建服务器和IDE上运行的测试.我并不特别想放弃集成调试,这是运行测试的ant脚本的情况.
对于使用多个捆绑包进行集成测试,或者对整个捆绑包进行单元测试,这可能是一个问题,您可能希望模拟扩展.
在我最繁忙的生产安装中,有时我得到一个似乎陷入无限循环的单个线程.经过大量的研究和调试后,我还没弄清楚谁是罪魁祸首,但看起来应该是可能的.以下是血腥的细节:
目前的调试说明:
1)ps -eL 18975向我展示了Linux pid问题子线程,19269
$ps -eL | grep 18975
...
PID LWP TTY TIME CMD
18975 18994 ? 00:00:05 java
18975 19268 ? 00:00:00 java
18975 19269 ? 05:16:49 java
18975 19271 ? 00:01:22 java
18975 19273 ? 00:00:00 java
...
Run Code Online (Sandbox Code Playgroud)
2)jstack -l 18975表示没有死锁,jstack -m 18975不起作用
3)jstack -l 18975确实为我的所有线程(~400)提供了堆栈跟踪.示例线程堆栈(而不是问题):
"http-342.877.573.944-8080-360" daemon prio=10 tid=0x0000002adaba9c00 nid=0x754c in Object.wait() [0x00000000595bc000..0x00000000595bccb0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on … 假设我有一个数据结构,例如
d dog DS qualified
d name 20
d breed 20
d birthdate 8 0
Run Code Online (Sandbox Code Playgroud)
然后我可以定义
d poochie likeds(dog)
Run Code Online (Sandbox Code Playgroud)
并使用poochie.name等
但是,我可以将"狗"设置为模板,而无需在内存中创建结构吗?
我正在开发一个Web应用程序,它将根据用户输入返回一组可变模块.每个模块是一个Python类与接受单个参数,并且具有包含在输出一个"html的"属性的构造函数.
从全局命名空间动态提取类的工作原理如下:
result = globals()[classname](param).html
Run Code Online (Sandbox Code Playgroud)
而且它肯定比以下更简洁:
if classname == 'Foo':
result = Foo(param).html
elif classname == 'Bar':
...
Run Code Online (Sandbox Code Playgroud)
什么被认为是风格上写这个的最佳方式?是否存在不使用全局命名空间的风险或原因?
我正在为我的公司建立一个新站点,而我正处于创建第一页的html模型的阶段.我将使用它作为网站其余部分的基础.我正在考虑更好地组织我的样式表现在我的设计看起来一致的跨浏览器,但我想知道当我打破它时还有多远.
一个想法是拥有以下内容:
但我在哪里画线?从理论上讲,我可以继续将它们分解为类,ID等,但我认为这会过分.
这似乎是一种合理的方法吗?
c# ×2
coding-style ×1
constraints ×1
css ×1
debugging ×1
distributed ×1
eclipse ×1
eclipse-pde ×1
file-io ×1
ibm-midrange ×1
indexing ×1
java ×1
jstack ×1
namespaces ×1
performance ×1
python ×1
rpgle ×1
sharepoint ×1
sql-server ×1
unique ×1
wpf ×1