标准WPF 树视图不支持多个选择.
如何添加支持多个选择的树视图到我的WPF应用程序?商业产品很好(我目前知道一个商业实施 - http://www.telerik.com/products/wpf/treeview.aspx)
我们有一个可选择与TFS集成的应用程序,但由于集成是可选的,我显然不希望所有机器都需要TFS程序集作为要求.
我该怎么办?
或者,更安全的选择是在一些单独的"TFSWrapper"程序集中引用TFS库:
一个.那么我可以直接引用该程序集(只要我小心我所说的)
湾 我应该为我的TFSWrapper程序集公开一组接口来实现,然后在需要时使用反射来实例化这些对象.
1对我来说似乎有风险,另一方面2b看起来过于顶层 - 我本质上是建立一个插件系统.
当然必须有一个更简单的方法.
我有一个存储在SQL服务器中的高精度日期,例如
2009-09-15 19:43:43.910
Run Code Online (Sandbox Code Playgroud)
但是,当我将该值转换为DateTime时,生成的DateTime值的毫秒值为0:
reader["Timestamp"] = 15/09/2009 19:43:43.000
Run Code Online (Sandbox Code Playgroud)
将这些DateTime值精确到毫秒级对我来说非常重要 - 这样做的最佳方法是什么?
更新:这是执行转换的代码:
DateTime myDate = (DateTime)reader[Timestamp"];
Run Code Online (Sandbox Code Playgroud)
SELECT声明没有什么特别之处,事实上它是SELECT *- 没有花哨的演员或任何东西
看起来,由simple返回的DateTime对象SqlDataReader没有填充Millisecond值
注意:我知道内存密集型应用程序中的内存管理问题,但是这个问题似乎是关于频繁进行内存分配的应用程序,而我的问题是关于有意设计消耗尽可能多的物理内存的应用程序.
我有一个服务器应用程序,它使用大量内存来执行缓存和其他优化(想想SQL Server).应用程序在专用计算机上运行,因此可以(并且应该)消耗尽可能多的内存,以便加速和增加吞吐量和响应时间,而无需担心影响系统上的其他应用程序.
麻烦的是,如果内存使用被低估,或者负载增加,最终可能会因内存分配失败而导致令人讨厌的失败 - 在这种情况下,最好的做法是释放内存以防止故障,但代价是表现.
一些假设:
我的问题是 - 我应该如何在这样的应用程序中处理内存分配? 特别是:
核心目标是防止因使用太多内存而导致的故障,同时尽可能多地占用内存.
我是一个C#开发人员,但我希望任何这样的应用程序的基本概念都是相同的,无论语言如何.
我有一台3D电视,并且觉得如果我至少没有尝试让它显示我自己创作的3D图像,那么我将推卸我的职责(作为一个极客)!
我以前做过非常基本的OpenGL编程,因此我理解了所涉及的概念 - 假设我可以将自己渲染成一个简单的四面体或立方体并让它旋转一下; 如何让3D电视以3D形式显示此图像?
请注意,我理解3D工作原理的基础知识(从两个不同角度渲染两次相同的图像,每只眼睛一次),我的问题是关于实际执行此操作的物流(我需要SDK吗?等等...)
我花了很多时间开发一个操作系统并在我的低级引导加载程序上工作.但是现在我想从操作系统上抽出一些时间,而不是离开低级环境并做一些涉及安全的事情.
因此,我选择按照预启动身份验证方案构建自己的标准密码实用程序.由于我希望软件至少具有一点便携性,我希望它尽可能少地使用外部支持.我认为如果我以某种方式设法在运行的实模式操作系统内的自检和int 19引导程序之间"挂钩"到bios中,我会是最好的.
然而,找到关于如何修改bios代码的信息被证明是不可能的.我没有发现如何实现前面提到的.我只找到了描述如何刷新BIOS的页面.
有谁知道我如何读/写BIOS代码?或者有人可以提供描述这个的页面的链接?
我知道这不仅可能会破坏我的设备,但它也很可能,我知道风险并愿意接受它.
我之前使用过这种方法来返回更改的行数.我是运行insert方法,插入在存储过程中运行正常,但ExecuteNonQuery的返回值始终返回-1.
这是我的C#代码:
int ret = 0;
using (SqlConnection conn = new SqlConnection(this.ConnectionString))
{
using (SqlCommand cmd = new SqlCommand(QueryName, conn))
{
conn.Open();
if (Params != null)
cmd.Parameters.AddRange(Params);
cmd.CommandType = CommandType.StoredProcedure;
ret = cmd.ExecuteNonQuery();
conn.Close();
}
}
return ret;
Run Code Online (Sandbox Code Playgroud)
为什么我得到-1而不是更改的实际行数?
我有一个存储过程接受一个日期输入,如果没有传入值,则该日期输入稍后设置为当前日期:
CREATE PROCEDURE MyProc
@MyDate DATETIME = NULL
AS
IF @MyDate IS NULL SET @MyDate = CURRENT_TIMESTAMP
-- Do Something using @MyDate
Run Code Online (Sandbox Code Playgroud)
我遇到问题,如果@MyDate在NULL第一次编译存储过程时传入if ,则对于所有输入值(NULL或其他),性能总是很糟糕,如果在编译存储过程时传入日期/当前日期性能适用于所有输入值(NULL或其他).
令人困惑的是,即使实际 使用@MyDate的值NULL(而不是CURRENT_TIMESTAMP由IF语句设置),生成的糟糕执行计划也很糟糕
我发现禁用参数嗅探(通过欺骗参数)修复了我的问题:
CREATE PROCEDURE MyProc
@MyDate DATETIME = NULL
AS
DECLARE @MyDate_Copy DATETIME
SET @MyDate_Copy = @MyDate
IF @MyDate_Copy IS NULL SET @MyDate_Copy = CURRENT_TIMESTAMP
-- Do Something using @MyDate_Copy
Run Code Online (Sandbox Code Playgroud)
我知道这与参数嗅探有关,但我看到的所有"参数嗅探变坏"的例子都涉及使用传递的非代表性参数编译存储过程,但是在这里我看到了执行计划是可怕的SQL Server可能认为执行该语句其中参数可能需要在该点所有可能的值- NULL,CURRENT_TIMESTAMP或以其他方式.
有没有人知道为什么会这样?
我正在尝试编写一个简单的程序,它有两个方法,一个启动一个进程,一个启动同一个进程.如:
public Process StartProc(string procname)
{
Process proc = new Process();
proc.StartInfo.FileName = procname;
proc.Start();
return proc;
}
public void StopProc(Process proc)
{
proc.Close();
}
Run Code Online (Sandbox Code Playgroud)
有可能这样做吗?
c# ×4
sql-server ×2
.net ×1
3d ×1
assembly ×1
bios ×1
c ×1
datetime ×1
dependencies ×1
multi-select ×1
opengl ×1
osdev ×1
pragma ×1
process ×1
security ×1
sql ×1
stereoscopy ×1
t-sql ×1
television ×1
treeview ×1
windows ×1
wpf ×1