我正在尝试从普通方法运行"异步"方法:
public string Prop
{
get { return _prop; }
set
{
_prop = value;
RaisePropertyChanged();
}
}
private async Task<string> GetSomething()
{
return await new Task<string>( () => {
Thread.Sleep(2000);
return "hello world";
});
}
public void Activate()
{
GetSomething.ContinueWith(task => Prop = task.Result).Start();
// ^ exception here
}
Run Code Online (Sandbox Code Playgroud)
抛出的异常是:
可能不会在继续任务上调用Start.
无论如何,这是什么意思?如何在后台线程上运行异步方法,将结果发送回UI线程?
编辑
也尝试了Task.Wait,但等待永远不会结束:
public void Activate()
{
Task.Factory.StartNew<string>( () => {
var task = GetSomething();
task.Wait();
// ^ stuck here
return task.Result;
}).ContinueWith(task => {
Prop …Run Code Online (Sandbox Code Playgroud) 我一直在尝试部署我的WPF应用程序,我使用安装向导创建了一个安装项目.我添加的唯一项目输出是主要的.在构建并安装程序之后,只要我点击桌面上的exe,我就会弹出一个"我的程序已经停止工作"的弹出窗口,所以我点击Debug the Program并看到
PresentationFramework.dll中发生未处理的"System.Windows.Markup.XamlParseException"类型异常
附加信息:'Set connectionId引发了异常.' 行号"10"和行位置"9".
这个例外并没有指出我要解决什么方向.我的应用中没有任何'connectionId'.
我之前因为我的系统托盘的NotifyIcon而遇到了XAMLParseException,但是通过在我的exe路径中添加图标来解决这个问题.我认为这可能是问题,所以我将图标添加到我的安装项目,以及所有其他项目输出.还是行不通.
我知道这是一个模糊的错误,但任何帮助都会受到赞赏,我的应用程序将无法运行.谢谢!
如何使用C#.net比较两个数组字符串?例如:
string[] com1 = { "COM6", "COM7" };
string[] com2 = { "COM6", "COM7","COM8" };
Run Code Online (Sandbox Code Playgroud)
这里com1和com2是Array字符串.结果:COM8.怎么做到这一点?
我是Ninject的新手,在我实现通用存储库模式时发现自己陷入困境.我想将依赖关系IRepository <IEntityType>绑定到类ConcreteRepository <EntityType>,其中ConcreteRepository <T>实现IRepository <T>,EntityType实现IEntityType.我试过这个:
kernel.Bind<IRepository<IEntityType>>().To<ConcreteRepository<EntityType>>();
Run Code Online (Sandbox Code Playgroud)
...但是Ninject不会接受它,因为它不知道或不关心EntityType实现IEntityType.我怎样才能绑定这种依赖?
UPDATE
这是我得到的错误:
错误3类型'ICM.Dependency.Repository.ConcreteRepository'不能在泛型类型或方法'Ninject.Syntax.IBindingToSyntax.To()'中用作类型参数'TImplementation'.没有从"ConcreteRepository <EntityType>"到"IRepository <IEntityType>"的隐式引用转换.
解
我仍然不太明白为什么我的绑定不起作用,但显然我在那里错误地使用泛型.因此,该解决方案与NInject无关.我结束了指定ConcreteRepository以显式连接IEntityType和TEntityType:
public class ConcreteRepository<TInterface, TEntity> : IRepository<TInterface> where TEntity : TInterface { ... }
Run Code Online (Sandbox Code Playgroud)
然后注射可写如下:
kernel.Bind<IRepository<IEntityType>>().To<ConcreteRepository<IEntityType,EntityType>>()
Run Code Online (Sandbox Code Playgroud) 我有以下查询:
SELECT * FROM table_name
WHERE (col_1 LIKE '%$keyword%'
OR col_2 LIKE '%$keyword%'
OR col_3 LIKE '%$keyword%')
AND .... <some optional filters> ...
Run Code Online (Sandbox Code Playgroud)
是否有基于最相关结果进行排序的策略?
为什么可以这样初始化Dictionary<T1,T2>:
var dict = new Dictionary<string,int>() {
{ "key1", 1 },
{ "key2", 2 }
};
Run Code Online (Sandbox Code Playgroud)
...但是不要以KeyValuePair<T1,T2>完全相同的方式初始化一组对象:
var kvps = new KeyValuePair<string,int>[] {
{ "key1", 1 },
{ "key2", 2 }
};
// compiler error: "Array initializers can only be used in a variable
// or field initializer. Try using a new expression instead."
Run Code Online (Sandbox Code Playgroud)
我意识到我可以通过new KeyValuePair<string,int>() { "key1", 1 }为每个项目编写等来使第二个例子工作.但我想知道是否可以使用第一个示例中可能的相同类型的简洁语法.
如果不可能,那么是什么让Dictionary类型如此特别?
PHP通过CLI成功将错误记录到/var/log/php_errors.log.
但是apache + php不会记录错误.
[bla@notebook ~]$ apachectl -v
Server version: Apache/2.2.17 (Unix)
Server built: May 19 2011 03:15:39
[bla@notebook ~]$ php -v
PHP 5.3.6 with Suhosin-Patch (cli) (built: Mar 23 2011 13:28:00)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
Run Code Online (Sandbox Code Playgroud)
在php.ini我有:
display_errors = On
error_reporting = E_ALL | E_STRICT
log_errors = On
error_log = php_errors.log
Run Code Online (Sandbox Code Playgroud)
在httpd.conf中:
ErrorLog "/var/log/httpd/error_log"
Run Code Online (Sandbox Code Playgroud)
权限:
[bla@notebook /]$ ls -la /var/log/httpd/
-rwxrwxr-x 1 root root 133351 21.11.2011 …Run Code Online (Sandbox Code Playgroud) 我在MySQL中有一个包含主键列的表.
让我们说:
ID | Value
1 | One
2 | Two
6 | Three
8 | Four
9 | Five
Run Code Online (Sandbox Code Playgroud)
我如何得到它:
ID | Value
1 | One
2 | Two
3 | Three
4 | Four
5 | Five
Run Code Online (Sandbox Code Playgroud)
没有其他表格.只是一个.我只是想让ID成为一个合适的系列.
有什么建议?? 一个查询也许.. :)
我是ASP.NET C#的新手,我遇到了一些问题.
在PHP中,我可以将HTML代码存储在变量中,例如:
$list = "<li>My List</li>";
echo "<ul>{$list}</ul>"; // write <ul><li>My List</li></ul>
Run Code Online (Sandbox Code Playgroud)
我在ASP.NET和Razor中尝试过这个
string List = "<li>My List</li>";
<ul>@List</ul>
Run Code Online (Sandbox Code Playgroud)
但ASP改变了"<"和">" >和<..你知道任何解决方案吗?
我有另一个问题,我可以在像PHP这样的引号中插入变量吗?
echo "<ul>{$list}</ul>";
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的WPF应用程序中使Avalon MVVM兼容.从谷歌搜索,我发现AvalonEdit不是MVVM友好的,我需要通过创建一个派生自TextEditor的类然后添加必要的依赖属性来导出AvalonEdit的状态.我担心Herr Grunwald 在这里的回答让我很失落:
如果你真的需要使用MVVM导出编辑器的状态,那么我建议你创建一个派生自TextEditor的类,它添加必要的依赖属性并将它们与AvalonEdit中的实际属性同步.
有没有人有一个例子或有关如何实现这一目标的好建议?