是否有任何优雅的快速方法将对象映射到字典,反之亦然?
IDictionary<string,object> a = new Dictionary<string,object>();
a["Id"]=1;
a["Name"]="Ahmad";
// .....
Run Code Online (Sandbox Code Playgroud)
变
SomeClass b = new SomeClass();
b.Id=1;
b.Name="Ahmad";
// ..........
Run Code Online (Sandbox Code Playgroud) 我有这个代码:
public class MyClass
{
public int X { get; set; }
public int Y { get; set; }
private Lazy<int> lazyGetSum = new Lazy<int>(new Func<int>(() => X + Y));
public int Sum{ get { return lazyGetSum.Value; } }
}
Run Code Online (Sandbox Code Playgroud)
给我这个错误:
字段初始值设定项不能引用非静态字段,方法或属性.
我认为通过懒惰访问非静态成员是非常合理的,怎么做?
*编辑*
接受的答案完美地解决了这个问题,但是要看到问题的详细和深入 - 总是原因,你可以阅读Joh Skeet的答案.
如何使用click-once更新WPF应用程序,我需要启动新版本!
我们需要从WebRTC(或客户端网络摄像头的任何其他捕获机制)捕获实时视频流,即使它不是在所有浏览器上都支持,而是作为PoC支持.
这个实时视频需要由服务器组件(ASP.Net MVC/Web API)处理,我想服务器上的代码看起来像:
[HttpPost]
public ActionResult HandleVideoStream(Stream videoStream)
{
//Handle the live stream
}
Run Code Online (Sandbox Code Playgroud)
寻找任何关键字或有用的链接.
我们已经实现了一种使用base64 jpg发送单个帧的方法,但这根本没用,因为base64编码有很大的开销,因为我们可以使用任何视频编码来更有效地发送视频(发送差异)在使用VPx -vp8-的帧之间,所需的解决方案需要从客户端的网络摄像头捕获视频并将其作为流 - 或数据块实时(未记录)发送到服务器(asp.net)代表新的视频数据.
我需要类似于ReadToEnd或ReadAllBytes的东西来使用MappedViewAccessor读取MemoryMappedFile的所有内容,如果我不知道它的大小,我该怎么办呢?
我已经搜索过了,我已经看到了这个问题,但这不是我要找的东西:
编辑:
有一个问题,(int)stream.Length没有给我正确的长度,而是给出了内部缓冲区的大小!我需要刷新这个问题,因为它非常紧迫.
我有一个拥有超过3200万条记录的数据库,我必须将它从SQL Server迁移到Sqlite.
我在本文的帮助下尝试了SSIS(SQL Server Integration Services) http://dbauman.blogspot.com/2009/03/connecting-to-sqlite-through-ssis.html
但是这个过程非常慢,我该如何迁移这些数据呢?
我有一个非常复杂的XAMLs WPF应用程序,我需要一种方法来知道我的应用程序挂起,当我尝试暂停执行点,应用程序似乎不能挂,指针会在这一行:
System.Windows.Application myApp;
.
.
.
.
myApp.Run(); // <== this line
Run Code Online (Sandbox Code Playgroud)
当我改变了任务栏的布局,或者当Windows资源管理器崩溃(任务栏是隐藏的),如果我在重重复做这些改动之后,应用程序将永远无法恢复,但是当小改完成后,应用程序这是发生会在几分钟后恢复,我需要知道这个问题的原因,我怀疑我的应用程序的复杂XAML,但我需要一种方法来了解页面或组件,或者这个挂起的来源.
*编辑*
我需要一种工具或方法来了解消耗调度时间的XAML是什么!
*编辑*
我有窍门的确切原因,那是因为在另一个线程创建的ReportViewer的一个实例,当我删除了实例的创建的,它的工作完美,很奇怪的,这个错误在我的应用程序很长一段时间存在以前,但最近提出了挂起,我的意思是:当我在我的应用程序的任何位置插入其中一个代码时,我的应用程序将挂起:
new Action(() =>
{
ReportViewer rv = new ReportViewer();
}).BeginInvoke(null, null);
Run Code Online (Sandbox Code Playgroud)
要么
new Action(() =>
{
ReportViewer rv = new ReportViewer();
rv.Dispose();
}).BeginInvoke(null, null);
Run Code Online (Sandbox Code Playgroud)
要么
new Action(() =>
{
ReportViewer rv = new ReportViewer();
rv.LocalReport.ReleaseSandboxAppDomain();
rv.Dispose();
}).BeginInvoke(null, null);
Run Code Online (Sandbox Code Playgroud)
我的问题:
1-更改窗口布局(调整任务栏大小或移动它)与未添加到任何可视树的报表查看器之间的关系是什么,为什么这会导致我的应用程序挂起?
2-我如何确定挂机的位置?
3-有时候应用程序会在几分钟内恢复(3-5),但有时会挂起几个小时并且应用程序无法恢复,为什么?
4-在这种情况下,如何确定导致应用程序挂起的组件或配置?
顺便说一下,如果解决这个问题,这对其他人来说非常有用,我们花了很多时间来检测它,但没有得到导致挂起的ReportViewer的确切原因!
我需要一种方法来检查某些MMF(内存映射文件)是否存在,然后才能以托管方式访问它.
我有一个安装程序,安装了一些组件,包括Windows服务,安装后它将启动使用CustomAction安装到系统上的服务.
卸载应用程序时出现问题,安装程序要求在继续之前关闭应用程序.

我创建了一个停止服务的自定义操作,我使用卸载操作安排了它.
但是在手动停止服务后按下确定错误对话框之前,它才会执行.
它在Win7上失败,但我在WinXP上测试了相同的MSI并且工作正常(在检查文件正在使用之前执行自定义操作)!
我正在使用VS2010安装项目来创建安装程序,但是在构建之后我没有修改它(例如使用Orca)的问题.
以下是InstallExecuteSequence表的内容:

我发现InstallValidate操作检查使用中的文件,但是我无法对我之前停止服务的自定义操作进行排序,因为它之前的InstallInitialize操作需要所有自定义操作都在它之后(ICE77 Evaluator)
如果在InstallInitialize操作之前或InstallFinalize操作之后对脚本内自定义操作进行了排序,则ICE77会发出错误.
我该怎么办,我应该使用MSIRESTARTMANAGERCONTROL属性来指定Windows Installer程序包是否使用FilesInUse对话框功能,但我需要通知用户其他正在使用的文件.
c# ×9
.net ×7
ipc ×2
wpf ×2
.net-4.0 ×1
accessor ×1
asp.net ×1
asp.net-mvc ×1
clickonce ×1
deployment ×1
dictionary ×1
hang ×1
idictionary ×1
mapping ×1
orca ×1
registry ×1
reportviewer ×1
sql-server ×1
sqlite ×1
webrtc ×1