小编Bra*_*don的帖子

如何从ConcurrentBag <>中删除单个特定对象?

随着新ConcurrentBag<T>的.NET 4,你怎么从它,只有当删除一些具体目标TryTake()TryPeek()可用?

我想用的TryTake(),然后只是增加了生成的对象回列表,如果我想要删除它,但我觉得我可能会失去了一些东西.这是正确的方法吗?

c# c#-4.0

102
推荐指数
4
解决办法
7万
查看次数

C#4:动态类型的真实示例

我认为我的大脑中途包含了C#4中的动态类型概念,但在我的生活中无法找到我真正想要使用它的场景.

我确信有很多,但我只是无法建立连接,以便我能够设计出一个更好的解决方案,而不是接口,依赖注入等动态解决方案.

那么,动态类型使用是否恰当的实际应用场景是什么?

.net c#

65
推荐指数
1
解决办法
2万
查看次数

Silverlight 4:没有找到解决Microsoft.Silverlight.CSharp.targets的问题?

我一直在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组件,现在我在添加/删除程序中有:

  1. Microsoft Silverlight
  2. Microsoft Silverlight 3 SDK
  3. Microsoft Silverlight 4 Toolkit 2010年4月

<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以及其他一些选项.我不想安装那些会让我回到过去的情况之前的东西.

silverlight visual-studio-2010 visual-studio

50
推荐指数
4
解决办法
5万
查看次数

在主UI线程上提升.NET中的事件

我正在开发.NET中的类库,其他开发人员最终将使用它.该库使用一些工作线程,这些线程触发状态事件,这将导致在WinForms/WPF应用程序中更新一些UI控件.

通常,对于每次更新,您都需要检查WinForms上的.InvokeRequired属性或等效的WPF属性,并在主UI线程上调用此更新.这可能会很快变老,并且让最终开发人员做到这一点感觉不对,所以......

有没有办法我的库可以从主UI线程触发/调用事件/委托?

特别是...

  1. 我应该自动"检测"要使用的"主"线程吗?
  2. 如果没有,我应该要求最终开发人员UseThisThreadForEvents()在应用程序启动时调用某些(伪)方法,以便从该调用中获取目标线程吗?

c# multithreading design-patterns

41
推荐指数
6
解决办法
3万
查看次数

ASP.NET:Response.Redirect(...)之后的代码会发生什么?

Response.Redirect()是否导致当前运行的方法中止?或者Response.Redirect()之后的代码也执行吗?

(也就是说,在Response.Redirect之后是否需要返回/退出Sub?)

asp.net page-lifecycle

38
推荐指数
2
解决办法
1万
查看次数

为什么Path.Combine会使用相对路径生成此结果?

令我惊讶的是,此代码不会产生预期的结果:

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应该是安全的方式)来解释反斜杠和前沿?

c# filesystems io .net-4.0

31
推荐指数
3
解决办法
1万
查看次数

如何自动检测Arduino COM端口?

我正在使用带有Firmata库的Arduino与C#应用程序进行通信,我想要消除COM端口配置组件,因为它可以在不同的机器之间进行更改...

是否有可能:

  1. 枚举系统中的COM端口列表?(在我的谷歌搜索中,我看到了一些相当难看的Win32 API代码,希望现在可能有更清洁的版本)
  2. 自动检测哪个COM端口连接到Arduino?

c# arduino

21
推荐指数
3
解决办法
4万
查看次数

如何在一个数据库中选择数据,并使用它在T-SQL中的另一个数据库中插入行?

我试图不写一个应用程序来做到这一点,同时改善我的SQL mojo ...

假设我在一个数据库表中Database1.dbo.MyTable包含以下列的数据:

  • 对象类型
  • ObjectKeyID

这些行有数千个.

Database2.dbo.MyOtherTable我有一个略有不同的架构,让我们说:

  • 我的钥匙
  • myvalue的

我想从中获取数据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)

t-sql sql-server-2005

18
推荐指数
2
解决办法
4万
查看次数

使用查询字符串解析AppSettings值时出错

在我的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?

c# asp.net exception-handling web-config appsettings

17
推荐指数
2
解决办法
1万
查看次数

如何在WPF中模拟悬挂电缆?

我有一个非常"基于连接"的应用程序,即多个输入/输出.

"电缆"的UI概念正是我所期待的,使用户能够清楚地理解这一概念.Propellerhead在其音频组件的Reason软件中采用了类似的方法,如本YouTube视频所示(快进到2m:50s).

我可以通过绘制从A点到B点的样条来使这个概念在GDI中起作用,必须有更优雅的方式在WPF中使用Paths或者其他东西,但是你从哪里开始呢?当你抓住并摇动它时,是否有一种很好的方法来模拟电缆摆动的动画?

如果已经为WPF发明了这个轮子,我也愿意控制库(商业或开源).

更新:感谢到目前为止答案中的链接,我几乎就在那里.

替代文字

我已经以BezierCurve编程方式创建了一个,点1是(0, 0),点2是底部的"挂起"点,点3是鼠标光标所在的位置.我已经创建了一个PointAnimationfor Point 2,ElasticEase它应用了一个缓动函数来提供"Swinging"效果(即,稍微反弹中间点).

唯一的问题是,动画似乎运行得有点晚.我每次鼠标移动时都会启动故事板,有没有更好的方法来制作这个动画?到目前为止,我的解决方案位于:

Bezier曲线游乐场

码:

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# silverlight wpf graphics gdi+

14
推荐指数
1
解决办法
2084
查看次数