随着新ConcurrentBag<T>的.NET 4,你怎么从它,只有当删除一些具体目标TryTake()和TryPeek()可用?
我想用的TryTake(),然后只是增加了生成的对象回列表,如果我不想要删除它,但我觉得我可能会失去了一些东西.这是正确的方法吗?
我认为我的大脑中途包含了C#4中的动态类型概念,但在我的生活中无法找到我真正想要使用它的场景.
我确信有很多,但我只是无法建立连接,以便我能够设计出一个更好的解决方案,而不是接口,依赖注入等动态解决方案.
那么,动态类型使用是否恰当的实际应用场景是什么?
我一直在Visual Studio 2010中将一些Silverlight 3应用程序升级到Silverlight 4.我的Silverlight 3应用程序在Visual Studio中打开很好,但SL4应用程序没有,但有以下错误:
C:\Path\To\MyProject.csproj : error : Unable to read the project file 'XNTVOD.AdminClient.csproj'.
C:\Path\To\MyProject.csproj(593,3): The imported project "C:\Program Files (x86)\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.CSharp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
我遇到了较旧的VS Silverlight组件的问题,最近卸载了大部分SL组件,现在我在添加/删除程序中有:
<import>对于SL4项目,声明如下:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
该文件夹中C:\Program Files (x86)\MSBuild\Microsoft\Silverlight\v4.0只有两个文件:
Microsoft.Ria.Client.targets
Microsoft.Ria.Client.VisualStudio.targets
特别是我缺少什么Silverlight开发组件?我看到了许多不同的选项,从Silverlight 4 SDK Beta到VS Tools for Silverlight 4以及其他一些选项.我不想安装那些会让我回到过去的情况之前的东西.
我正在开发.NET中的类库,其他开发人员最终将使用它.该库使用一些工作线程,这些线程触发状态事件,这将导致在WinForms/WPF应用程序中更新一些UI控件.
通常,对于每次更新,您都需要检查WinForms上的.InvokeRequired属性或等效的WPF属性,并在主UI线程上调用此更新.这可能会很快变老,并且让最终开发人员做到这一点感觉不对,所以......
有没有办法我的库可以从主UI线程触发/调用事件/委托?
特别是...
UseThisThreadForEvents()在应用程序启动时调用某些(伪)方法,以便从该调用中获取目标线程吗?Response.Redirect()是否导致当前运行的方法中止?或者Response.Redirect()之后的代码也执行吗?
(也就是说,在Response.Redirect之后是否需要返回/退出Sub?)
令我惊讶的是,此代码不会产生预期的结果:
var basePath = @"\\server\BaseFolder";
var relativePath = @"\My\Relative\Folder";
var combinedPath = Path.Combine(basePath, relativePath);
Run Code Online (Sandbox Code Playgroud)
结果\My\Relative\Folder不是预期的结果\\server\BaseFolder\My\Relative\Folder.
为什么是这样?将相对路径组合在一起的最佳方法是什么?这些路径可能有也可能没有斜线?
编辑:我知道我可以在relativePath上进行字符串操作来检测并删除起始斜杠.是否有一种更安全的方式来做这个(我认为Path.Combine应该是安全的方式)来解释反斜杠和前沿?
我正在使用带有Firmata库的Arduino与C#应用程序进行通信,我想要消除COM端口配置组件,因为它可以在不同的机器之间进行更改...
是否有可能:
我试图不写一个应用程序来做到这一点,同时改善我的SQL mojo ...
假设我在一个数据库表中Database1.dbo.MyTable包含以下列的数据:
这些行有数千个.
在Database2.dbo.MyOtherTable我有一个略有不同的架构,让我们说:
我想从中获取数据Database1.dbo.MyTable,并将每行的数据用作INSERT Database2.dbo.MyOtherTable.
我的猜测是我必须在while循环中建立一个游标,但不确定这样做的确切语法,或者是否有更好的方法.什么是最好的技术/语法用于此?
编辑:这是我最终使用的(本例更改了字段),除了确保在插入之前存在键时工作得很好:
INSERT INTO Database2.dbo.MyOtherTable (MyKey, MyValue)
SELECT ObjectType, ObjectKeyID FROM Database1.dbo.MyTable
WHERE ObjectType LIKE 'Widget' AND ObjectKeyID > 0 AND ObjectKey IN (SELECT UserAccountID FROM MyUsers)
Run Code Online (Sandbox Code Playgroud) 在我的web.config中的AppSettings中,我有这样的事情:
<appSettings>
<add key="ExternalSystemUrl" value="http://domain.com/page.aspx?id={0}&action=eat&object=bacon" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)
但是,似乎当一个&符号(&)包含在AppSettings值中时,ASP.NET会抛出以下错误:
解析EntityName时发生错误
为什么会发生这种情况,如何在App.config中包含这样的URL?
我有一个非常"基于连接"的应用程序,即多个输入/输出.
"电缆"的UI概念正是我所期待的,使用户能够清楚地理解这一概念.Propellerhead在其音频组件的Reason软件中采用了类似的方法,如本YouTube视频所示(快进到2m:50s).
我可以通过绘制从A点到B点的样条来使这个概念在GDI中起作用,必须有更优雅的方式在WPF中使用Paths或者其他东西,但是你从哪里开始呢?当你抓住并摇动它时,是否有一种很好的方法来模拟电缆摆动的动画?
如果已经为WPF发明了这个轮子,我也愿意控制库(商业或开源).
更新:感谢到目前为止答案中的链接,我几乎就在那里.

我已经以BezierCurve编程方式创建了一个,点1是(0, 0),点2是底部的"挂起"点,点3是鼠标光标所在的位置.我已经创建了一个PointAnimationfor Point 2,ElasticEase它应用了一个缓动函数来提供"Swinging"效果(即,稍微反弹中间点).
唯一的问题是,动画似乎运行得有点晚.我每次鼠标移动时都会启动故事板,有没有更好的方法来制作这个动画?到目前为止,我的解决方案位于:
码:
private Path _path = null;
private BezierSegment _bs = null;
private PathFigure _pFigure = null;
private Storyboard _sb = null;
private PointAnimation _paPoint2 = null;
ElasticEase _eEase = null;
private void cvCanvas_MouseMove(object sender, MouseEventArgs e)
{
var position = e.GetPosition(cvCanvas);
AdjustPath(position.X, position.Y);
}
// basic idea: when mouse moves, call AdjustPath and draw line from (0,0) to …Run Code Online (Sandbox Code Playgroud) c# ×7
asp.net ×2
silverlight ×2
.net ×1
.net-4.0 ×1
appsettings ×1
arduino ×1
c#-4.0 ×1
filesystems ×1
gdi+ ×1
graphics ×1
io ×1
t-sql ×1
web-config ×1
wpf ×1