小编Ste*_*ane的帖子

C#成员变量初始化; 最佳实践?

在声明上初始化类成员变量是否更好?

private List<Thing> _things = new List<Thing>();
private int _arb = 99;
Run Code Online (Sandbox Code Playgroud)

还是在默认构造函数中?

private List<Thing> _things;
private int _arb;

public TheClass()
{
  _things = new List<Thing>();
  _arb = 99;
}
Run Code Online (Sandbox Code Playgroud)

这仅仅是一种风格问题,还是存在性能权衡,这种或那种方式?

c# constructor declaration

92
推荐指数
3
解决办法
8万
查看次数

在Windows和Silverlight类库之间共享C#代码

我们编写了一个小型Windows类库,它实现了一些标准类型的扩展方法(最初是字符串).我将它放在一个库中,这样我们的任何项目都可以通过简单地引用它并使用XXX.Extensions添加它来使用它.

当我们想在Silverlight中使用其中一些方法时,出现了一个问题.尽管所有代码都是兼容的,但是在Silverlight中无法引用Windows库,因此我们创建了一个Silverlight库,该库具有指向相同类文件的链接,并将编译器指令放入类中以允许使用不同的声明和命名空间.这个工作正常,直到今天我向Windows扩展库添加了一个新类,并意识到我必须记住将类链接到Silverlight库中.

这并不理想,我想知道是否有人可能有更好的方法在Windows和Silverlight项目之间共享扩展方法和其他帮助程序代码.

c# windows silverlight sharing

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

从Powershell访问.NET组件

我想使用Powershell编写一些实用程序,利用我们自己的.NET组件来处理实际工作.这取代了编写一个小型控制台应用程序来将调用绑定在一起.我的问题是,我会找到一个很好的文档来源或教程材料,以帮助我快速跟踪这个?

powershell components

13
推荐指数
1
解决办法
6795
查看次数

Git:如何列出跟踪不再存在的远程分支的本地分支?

如何列出出现(按照.git/config)跟踪不再存在的远程分支的任何本地分支?在这种情况下,远程分支机构在GitHub上,但我怀疑它们的位置没有相关性.

例如:

  1. 我有地方分支机构,a,b,cd.
  2. a正在跟踪origin/ac正在跟踪origin/c.
  3. b并且d不跟踪远程分支.
  4. origin/a已被合并回主服务器并在存储库清理期间被删除; 我不再需要保留本地分支a.
  5. 如果本地分支a签出到工作树,则运行git fetchgit pull导致错误Your configuration specifies to merge with the ref 'a' from the remote, but no such ref was fetched.

如何生成仅包含a其他本地分支的列表,这些分支似乎跟踪不再存在的远程分支?

我想识别这些,以便我可以删除我不再需要的过时的本地分支.

该列表不应包括本地分支bd不跟踪远程分支,也不c应该是跟踪origin/c,这仍然存在.

git

13
推荐指数
4
解决办法
4606
查看次数

在 Visual Studio 2019 中测试细节摘要字体过大

自从从 VS2017 升级到 VS2019 后,我注意到测试详细信息摘要窗口中的文本非常大,这使得在没有大量滚动的情况下很难阅读测试结果。这在最新的 16.3.1 版本中仍然存在。我假设(并希望)有一个选项可以用来控制那里使用的字体,但我找不到它。有谁知道选项可能是什么/在哪里?这是一个屏幕截图。 在此处输入图片说明

testing fonts visual-studio visual-studio-2019

13
推荐指数
2
解决办法
1071
查看次数

如何针对谷歌浏览器调试Silverlight

有谁知道如何从Visual Studio调试在Google Chrome中运行的Silverlight 2应用?即使确保Chrome是调试浏览器,断点仍然没有被击中.

debugging silverlight google-chrome

10
推荐指数
1
解决办法
8018
查看次数

分配C#事件处理程序的差异?

在Intellisense自动完成的指导下,我总是分配这样的事件处理程序.

RangeSelector.RangeChanged += new EventHandler(RangeSelector_RangeChanged);
Run Code Online (Sandbox Code Playgroud)

我最近注意到我的一位同事就是这样做的.

RangeSelector.RangeChanged += RangeSelector_RangeChanged;
Run Code Online (Sandbox Code Playgroud)

这两种方法在语法上都是正确的,编译和行为符合预期.

这些方法的不同之处,好处或缺点是什么.它们是否会产生相同的IL代码,或者是否需要注意一些微妙的差异?

c# events event-handling

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

是否可以将数据绑定到Silverlight中的方法?

我们有一个动态的语言系统,不使用传统的资源文件; 通过语言管理器库从数据库中获取资源.基于遗留(VB6)解决方案,它根据控件标记属性中的资源名称进行语言控制.在页面初始化之后,我们启动了一个方法,该方法接受LayoutRoot并递归它的子项应用从控件有一个标记的字符串中查找的字符串.这被证明是笨拙的,递归例程变成了一个怪物,以迎合不同控件的微妙之处,我想改为使用数据绑定来代替应用字符串.

我意识到我可以为每个控件声明要绑定的属性,但这将涉及大量代码,我希望有更好的方法.有没有办法绑定到方法,传递参数.我设想了这样的方法.

public string GetResource(string resourceName)
{
  string resource = <fetch resource from language manager>;

  if (String.IsNullOrEmpty(resource))
  {
    return resourceName;
  }
  else
  {
    return resource;
  }
}
Run Code Online (Sandbox Code Playgroud)

我们的应用程序中已经有一个静态方法用于此检索,该方法具有以下签名.

public static Resource(string resourceName, string defaultValue)
Run Code Online (Sandbox Code Playgroud)

能够直接使用它会很棒.

c# data-binding silverlight

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

需要有关加密算法的建议

为这个问题的论文性质道歉.我一直在努力解决这个问题,并试图用我具体的问题总结我对所需内容的理解.

这个有关从欧洲DTCO公司卡读取数据的问题中,我得到的建议涉及到下面屏幕截图中的算法(来自本文件的附录11 ),但我不清楚如何执行这两个突出显示的步骤.

  1. 我看到Sign是包含证书的数组的一部分,但用公钥打开它意味着什么?我可以通过从卡中读取CA_Certificate并使用CAR 发出管理安全环境 APDU (参见算法的第一步)来成功执行该步骤.但是通过这种方式选择了公钥,我在开放的Sign步骤中使用了哪些公钥.MSE选择一个,但我没有; 我只有来自ERCA的欧洲公钥,但是我在卡中选择了相同的密钥吗?我没有任何私钥,但我需要它们.

  2. 在检查Hash(C')= H'的步骤中,我应该如何计算哈希?进行加密/解密/散列似乎有很多不同的方式(格式正确吗?)我很困惑.

在此输入图像描述

我真正需要能够读取我需要的数据是使用EXTERNAL AUTHENTICATE进行身份验证,紧接在返回8字节质询的GET CHALLENGE之后.我认为我需要用它来计算EXTERNAL AUTHENTICATE的密码.我在下面找到了示例代码(请参阅完整帖子),虽然它看起来像是某种类似C语言的脚本语言(我正在使用C#),但对于不同类型的智能卡,它似乎与我必须使用的非常类似.

//
// Authenticate against CardOS card
//

var card = new Card(_scsh3.reader);
var crypto = new Crypto();

var key = new Key();
key.setComponent(Key.DES,
    new ByteString("01010101010101010101010101010101", HEX));

// Get challenge
var challenge = card.sendApdu(0x00, 0x84, 0x00, 0x00, 8, [0x9000]);

// Crypto.DES_MAC_EMV is a …
Run Code Online (Sandbox Code Playgroud)

c# security cryptography smartcard

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

如何以编程方式访问Silverlight FrameworkElement的ToolTipService?

我们有一个语言机制,在加载时通​​过我们的XAML页面进行递归,检查每个元素的Tag属性,并使用其值来检索要应用于元素的字符串资源.它目前不支持工具提示,我们必须在每个页面上都有特定的代码才能将语言资源应用于它们.我正在尝试将此功能添加到我们的递归机制中.

所以我在树中FrameworkElement递归,对于每个元素,我想知道它是否有一个ToolTipService,如果是,那么ToolTipService是否有一个ToolTip元素.如果是的话,我想要检索Tag属性(如果有的话),并使用我使用标记查找的值设置Content属性.我的问题是我无法弄清楚如何确定是否有工具提示和getaccess.

以下是显示元素的示例,在本例中为Image.如果我在树中递归并且当前元素是图像,我该如何进入工具提示?

<Image x:Name="DateRangeSelectorButton" Grid.Column="0" Source="Images/OvalClock.png" Margin="2,0,2,0" Cursor="Hand">
  <ToolTipService.ToolTip>
    <ToolTip Tag="dttlDateRangeSelectorButtonTooltip"/>
  </ToolTipService.ToolTip>
</Image>
Run Code Online (Sandbox Code Playgroud)

silverlight tooltip frameworkelement

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