在弹出窗口方面,我对VM的职责有疑问.当应用程序弹出消息框或某种对话框(使用MVVM)时,我们拥有的两个选项是:
你们是怎么解决这个案子的?
我对SQL很缺乏经验,所以对我的问题应该有一个简单的解决方案:我在一个以逗号分隔的文件中选择一个表,而TEXT类型的列有换行符,所以当我尝试将我的csv导入Excel时,它会在换行符后面的每一段文本中创建单独的行.
这是我的查询:
SELECT * FROM `db`.`table` INTO OUTFILE 'c:\\result.txt' FIELDS TERMINATED BY ','
ESCAPED BY '\\' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n' ;
Run Code Online (Sandbox Code Playgroud)
然后在Excel中我导入为逗号分隔文件,这会导致包含带换行符的文本的列出现问题.
任何帮助表示赞赏!
在WPF中,我们有两个线程(至少):呈现和UI线程.当我在某些属性更改时引发事件OnNotifyPropertyChanged时,它会在UI线程上引发.需要将此信息分派到WPF呈现线程以进行重新呈现.我假设它以同步方式完成(Dispatcher.Invoke),但它是如何工作的?
如果我为同一数据结构引发了多个OnNotifyPropertyChanged事件而没有锁定对已经引发这些事件的数据结构的访问器属性的访问,那么我是否会创建潜在的竞争条件?我已经看到臭名昭着的"集合被修改;枚举操作可能无法执行"来自WPF的异常,所以它看起来像WPF异步处理这些事件.我误解了这个例外吗?谢谢!
我正在尝试使用StreamWriter在命名管道上发送字符串,但StreamWriter类仅提供同步操作.我可以使用NamedPipeServerStream类的BeginWrite方法,但我想知道为什么没有允许异步操作的编写器类.我错过了一些明显的东西吗
我知道Test Case Management应用程序会静默记录intellitrace数据转储文件(http://blogs.msdn.com/jennifer/archive/2008/12/05/visual-studio-team-system-vsts-2010-making-testing- easy.aspx)
我很好奇是否有一个允许记录intellitrace日志的独立版本(例如可以放在托盘窗口中的东西).
在阅读Jon Skeet关于C#中单例的文章时,我开始想知道为什么我们首先需要延迟初始化.似乎文章中的第四种方法应该足够了,这里仅供参考:
public sealed class Singleton
{
static readonly Singleton instance=new Singleton();
// Explicit static constructor to tell C# compiler
// not to mark type as beforefieldinit
static Singleton()
{
}
Singleton()
{
}
public static Singleton Instance
{
get
{
return instance;
}
}
}
Run Code Online (Sandbox Code Playgroud)
在极少数情况下,在单例上有其他静态方法,延迟初始化可能有好处,但这不是一个好的设计.
那么人们可以告诉我为什么懒惰的初始化是如此热门的事情?
我正在尝试运行复制除.obj等文件的xcopy.我所看到的是当我的excludes.txt文件包含.obj作为扩展名时,不会复制Microsoft.Practices.ObjectBuilder.dll.删除.obj后,我正确复制了Microsoft.Practices.ObjectBuilder.dll.但这不会发生在其他dll上.
有谁知道为什么会这样?
谢谢!
Lenik
我有一些需要从我的后台演示者线程更新的UI代码.所以,我执行以下操作:从我的后台线程,我在UI中设置我的属性:
_ui.ConnectionStatus = "A";
Run Code Online (Sandbox Code Playgroud)
然后,我的设置如下:
public string ConnectionStatus
{
set
{
if (Dispatcher.CheckAccess())
ConnectionStatusTxt.Content = value;
else
{
Dispatcher.Invoke(DispatcherPriority.Normal, (Action)(() =>
{ConnectionStatusTxt.Content = value;}));
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
The calling thread cannot access this object because a different thread owns it.
我的理解是Dispatcher负责调用不同的线程,所以这个错误让我感到困惑.谢谢!
c# ×3
wpf ×3
.net ×2
.net-3.5 ×1
batch-file ×1
dispatcher ×1
intellitrace ×1
into-outfile ×1
mvvm ×1
mysql ×1
named-pipes ×1
popup ×1
singleton ×1
sql ×1
windows ×1
xcopy ×1