小编Nik*_*wal的帖子

什么是依赖属性?

什么是.Net中的依赖属性(特别是在WPF上下文中).常规财产有什么区别?

.net dependency-properties workflow-foundation

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

程序集绑定重定向:如何以及为什么?

这不是一个问题问题,而是关于装配绑定重定向工作的一般性理解问题.

查询

  1. 为什么绑定重定向只显示主要版本而不显示次要,构建和修订号?
  2. 只有主要版本发生变化时,旧版本和新版本才会更改吗?

    <dependentAssembly>
        <assemblyIdentity name="FooBar"  
                          publicKeyToken="32ab4ba45e0a69a1"  
                          culture="en-us" />  
    
        <bindingRedirect oldVersion="7.0.0.0" newVersion="8.0.0.0" />  
    </dependentAssembly>
    
    Run Code Online (Sandbox Code Playgroud)

c# assembly-binding-redirect

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

C#7:Out变量中的下划线(_)和星号(*)

我在C#7阅读新出的可变功能在这里.我有两个问题:

  1. 它说

    我们允许"丢弃"作为输出参数,以a的形式_,让你忽略你不关心的参数:

    p.GetCoordinates(out var x, out _); // I only care about x
    
    Run Code Online (Sandbox Code Playgroud)

    问:我想这只是一个信息而不是C#7的新功能,因为我们也可以在C#7.0之前这样做:

    var _;
    if (Int.TryParse(str, out _))
    ...
    
    Run Code Online (Sandbox Code Playgroud)

    或者我在这里遗失了什么?

  2. 当我在同一博客中提到时,我的代码会出错:

    ~Person() => names.TryRemove(id, out *);
    
    Run Code Online (Sandbox Code Playgroud)

    *不是有效的标识符.Mads Torgersen的疏忽我猜?

c# c#-7.0

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

何时何地使用GetType()或typeof()?

为什么会这样

if (mycontrol.GetType() == typeof(TextBox))
{} 
Run Code Online (Sandbox Code Playgroud)

这不是吗?

Type tp = typeof(mycontrol);
Run Code Online (Sandbox Code Playgroud)

但这很有效

Type tp = mycontrol.GetType();
Run Code Online (Sandbox Code Playgroud)

我自己使用is运算符来检查类型,但是当我使用typeof()和时,我的理解失败了GetType()

何时何地使用GetType()typeof()

.net c# types typeof gettype

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

为什么TimeSpan.ParseExact不起作用

这有点奇怪.如果我想要精确的话,解析具有有效时间跨度的文本字段会失败!

const string tmp = "17:23:24";
//works
var t1 = TimeSpan.Parse(tmp);
//fails
var t2 = TimeSpan.ParseExact(tmp, "hh:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

第二个解析失败,异常"输入字符串格式不正确".来自DateTime.

c# parsing timespan

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

Nuget:在packages.config中requireReinstallation标记的目的是什么

我将我的C#项目(已经有一些nuget包)从4.0升级到4.5.2.我看到一些包现在包含一个额外的标签requireReinstallation.

a)这个目的是什么?

b)为什么有些包装有,有些包装没有.

之前

<package id="NLog" version="3.1.0.0" targetFramework="net40" />
Run Code Online (Sandbox Code Playgroud)

<package id="NLog" version="3.1.0.0" targetFramework="net40" requireReinstallation="true" />
Run Code Online (Sandbox Code Playgroud)

c# nuget

37
推荐指数
1
解决办法
9521
查看次数

无法将类型为"System.Linq.Expressions.UnaryExpression"的对象强制转换为"System.Linq.Expressions.MemberExpression"

在C#中创建了一个方法来获取methodname

public string GetCorrectPropertyName<T>(Expression<Func<T, string>> expression)
{
   return ((MemberExpression)expression.Body).Member.Name; // Failure Point
}
Run Code Online (Sandbox Code Playgroud)

并称之为

string lcl_name = false;
public string Name
{
get { return lcl_name ; }
set 
    {
        lcl_name = value;
        OnPropertyChanged(GetCorrectPropertyName<ThisClassName>(x => x.Name));
}
}
Run Code Online (Sandbox Code Playgroud)

如果property是string,并且所有其他类型都提供此异常,则此方法正常:

无法将类型为"System.Linq.Expressions.UnaryExpression"的对象强制转换为"System.Linq.Expressions.MemberExpression".

  1. 我在方法签名中将字符串更改为对象,但随后又失败了.
  2. 我改变从打电话x => x.PropertyNamex => Convert.ToString(x.PropertyName),它仍然失败

我哪里错了?

c# linq exception-handling expression-trees

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

在SQL Server中的另一个存储过程中执行存储过程

如何在SQL Server中的另一个存储过程中执行存储过程?我如何传递第二个程序的参数.

sql sql-server stored-procedures

33
推荐指数
3
解决办法
16万
查看次数

WPF:如何在动态创建的WPF窗口中动态添加控件

我想在C#中的项目中添加一个WPF输入框.我从C#中的InputBox获得了一个WinForm,但它具有Winform的外观和感觉.所以我在WPF中重新创建它.我已经创建了所有控件(标签,按钮,文本框)但我无法将它们添加到我的窗口.

static Window winInputDialog
Run Code Online (Sandbox Code Playgroud)

窗口通过ShowDialog显示但没有控件.请帮忙.

c# wpf

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

为什么"除以零"或任何其他例外未提出?

我有一个double[]LINQ操作正在执行:

MD = MD.Select(n => n * 100 / MD.Sum()).ToArray();
Run Code Online (Sandbox Code Playgroud)

在某些情况下,所有元素MD都是0然后Sum也是零.然后0 * 100 = 0 / 0,它没有给出除零例外或任何例外.为什么会这样?

.net c# linq ieee-754

28
推荐指数
2
解决办法
2774
查看次数