小编Kei*_*ill的帖子

反应性扩展使用的好例子

我理解Rx的基础知识.我正在努力的是你如何在学术范例之外实际使用它?什么是常见的,简单的现实场景,其中Rx是比我们今天在.NET中更好的解决方案?

.net c# system.reactive

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

何时使用WPF依赖属性与INotifyPropertyChanged

人们对INotifyPropertyChanged.PropertyChanged在视图模型中触发的简单.NET属性何时足够有任何指导?那么你什么时候想要升级到一个完整的依赖属性?或者DP主要用于观看?

wpf binding dependency-properties inotifypropertychanged

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

在64位Windows上.NET中的数组的最大长度是多少

我从某人那里听说.NET中最大的数组大小是4 GB?只是想知道这是否属实.您不会梦想在32位.NET上执行此操作,但是在具有12 GB RAM的64位系统上,也许您可​​能想要这样做.:-)

.net arrays max

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

如何从C#项目的构建事件中访问Visual Studio解决方案级平台?

我们有一个大型的VS 2010解决方案,主要是C#代码,但有一些本地DLL,各种C#项目依赖(包括我们的单元测试DLL).我们正在尝试支持32位和64位版本的库.所以我们现在将本机DLL构建为32位和64位.问题是我们的很多C#项目都有后期构建事件,它们将所需的本机DLL复制到项目的TargetDir中.现在我们有两个不同版本的本机DLL(32位和64位),我需要能够指定正确的dir来复制本机DLL.我原本以为我可以简单地在路径中使用$(Platform),如下所示:

copy $(SolutionDir)\NativeDll\$(Platform)\$(Configuration) $(TargetDir)
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为$(Platform)是项目的平台,而不是解决方案级平台.在这种情况下,$(平台)是"任何CPU".从我所看到的C#项目中的后期构建事件宏看,似乎没有办法访问正在构建的解决方案级平台.有没有更好的方法来实现我的目标?

c# 64-bit post-build-event 32bit-64bit visual-studio

12
推荐指数
1
解决办法
4545
查看次数

Asp.NET 5中的HtmlEncode在哪里?

我有一个自定义IHtmlHelper扩展方法,使用TagBuilder并返回一个HtmlString.我不能再传递tagBuiler.ToString()HtmlString构造函数只返回类型名称现在.

我看到我可以使用这个tabBuiler.WriteTo(TextWriter, IHtmlEncoder)方法,但我不确切知道如何让我的手触及一个物体IHtmlEncoder.我看到了两个编码器System.Text.Encodings.WebMicrosoft.Framework.WebEncoders.但是两个命名空间中的类型似乎并不能很好地结合在一起.

asp.net asp.net-mvc html-encode asp.net-core-mvc asp.net-core

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

为什么始终禁用Visual Studio 2015中的"创建拉取请求"菜单项?

无论我尝试什么,这个菜单项似乎永远不会"启用":

在此输入图像描述

我错过了什么?这是VS 2015 Update1指向TFS 2015上的Git回购.

git visual-studio-2015 tfs-2015

11
推荐指数
2
解决办法
8015
查看次数

附加到TFS变更集编号的星号是什么意思

我正在寻找合并的候选变更集,我得到一些我不明白的输出:

tf merge /candidate /recursive $/Acme/Branches/Release/3.5 $/Acme/Trunk
Changeset Author                           Date
--------- -------------------------------- ----------
   47829* nate:14                          4/16/2009
Run Code Online (Sandbox Code Playgroud)

变更集号末尾的*是什么意思?

version-control tfs changeset

10
推荐指数
2
解决办法
1731
查看次数

app.UseErrorHandler()可以访问错误详细信息吗?

在我的MVC4应用程序中,我有一个global.asax.cs覆盖Application_Error(object sender, EventArgs e)我可以提取的地方exception,statusCode以及requestedUrl(用于处理404).这将被发送到我的控制器,错误页面将是不同的404s与5xx(这些获得堆​​栈跟踪).我没有看到如何使用相同的信息获取我的错误操作UseErrorHandler().我在ASP.NET Core中使用正确的方法吗?

asp.net-core-mvc asp.net-core

8
推荐指数
1
解决办法
5635
查看次数

如何使WPF DrawingImage的元素颜色动态化?

我们需要使某些矢量图形图像在运行时改变图形中某些元素的颜色.似乎根据静态或动态资源值设置这些颜色是行不通的.我们希望拥有相同图形的多个版本,每个版本都具有将某些图形元素(路径,线等)设置为不同颜色的能力,因此我认为动态资源方法不起作用.这留下了数据绑定,这似乎是正确的方法.我们更新图形以使用数据绑定expr而不是硬编码的画笔颜色,如下所示:

<DrawingImage x:Key="Graphic1">
  <DrawingImage.Drawing>
    <DrawingGroup>
      <DrawingGroup.Children>
        <GeometryDrawing Geometry="F1 M 8.4073,23.9233L">
          <GeometryDrawing.Pen>
            <Pen LineJoin="Round" Brush="{Binding Line1Brush, Mode=OneWay}"/>
          </GeometryDrawing.Pen>
        </GeometryDrawing>
        <GeometryDrawing Geometry="F1 M 3.6875,2.56251L">
          <GeometryDrawing.Pen>
            <Pen LineJoin="Round" Brush="{Binding Line2Brush, Mode=OneWay}"/>
          </GeometryDrawing.Pen>
        </GeometryDrawing>
      </DrawingGroup.Children>
    </DrawingGroup>
  </DrawingImage.Drawing>
</DrawingImage>
Run Code Online (Sandbox Code Playgroud)

然后我们在这种情况下为Graphic1的每个实例创建一个视图模型对象(支持INotifyPropertyChanged)实例,并确保它同时具有a Line1BrushLine2Brush属性.听起来不错,但我无法让它发挥作用.我假设这个图形,它本身是在Image对象的资源字典中定义的,我尝试DataContext在Debug窗口中设置它们和我得到的数据绑定错误输出.这是Image XAML:

<Image x:Name="Pulse1" Grid.Column="0" Source="{StaticResource Graphic1}"/>
<Image x:Name="Pulse2" Grid.Column="1" Source="{StaticResource Graphic1}"/>
Run Code Online (Sandbox Code Playgroud)

然后在Window的Initialize方法中我设置他们的数据上下文,如下所示:

 public MainWindow()
 {
     InitializeComponent();
     this.DataContext = this;
     this.PulseImage1 = new PulseImageViewModel();
     this.PulseImage2 = new PulseImageViewModel();
     this.PulseImage2.Line1Brush = Brushes.Green;
     this.PulseImage2.Line2Brush = Brushes.Red;
     this.Pulse1.DataContext = this.PulseImage1;
     this.Pulse2.DataContext …
Run Code Online (Sandbox Code Playgroud)

wpf binding

7
推荐指数
1
解决办法
2420
查看次数

为什么我不能从我的数组中调用Contains方法?

Arrrg!我正在用PowerShell写一个简单的脚本,我觉得这是一个愚蠢的问题.我正在调用一个调用存储过程的sql命令,结果我把它放在一个数组.结果看起来像这样:

Status                                       ProcessStartTime                            ProcessEndTime                             
------                                       ----------------                            --------------                             
Expired                                      May 22 2010  8:31PM                         May 22 2010  8:32PM
Run Code Online (Sandbox Code Playgroud)

我想做的是if($s.Contains("Expired"))报告失败.简单...?:(问题我遇到的是它看起来像没有加载Contains方法,因为我得到这样的错误:

方法调用失败,因为[System.Object []]不包含名为"Contains"的方法.在行:1 char:12 + $ s.Contains <<<<("Expired")+ CategoryInfo:InvalidOperation :(包含:String)[],RuntimeException + FullyQualifiedErrorId:MethodNotFound

那么,我该怎么做才能阻止PowerShell将其展开为字符串?下面的实际ps脚本 -

$s = @(Invoke-Sqlcmd -Query "USE DB
       GO
       exec Monitor_TEST_ps 'EXPORT_RUN',NULL,20" `
       -ServerInstance testdb002\testdb_002
      )

if ($s.Contains("Expired"))   
{
    Write-Host "Expired found, FAIL."
}
else 
{
    Write-Host "Not found, OK." 
}
Run Code Online (Sandbox Code Playgroud)

powershell

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