小编Fly*_*179的帖子

在文件路径中使用环境变量

我有一个指向特定文件夹的环境变量集(例如,称之为MYFOLDER).在%MYFOLDER%\SubFolderWindows资源管理器中键入时,将显示子文件夹.但是,当我SelectedPath = @"%MYFOLDER%\SubFolder";转到a时FolderBrowserDialog,它不起作用.

我尝试使用Path.GetFullPath(..),但这似乎返回可执行文件的bin文件夹(在VS中调试时),结尾是%MYFOLDER%,而不是我期望的路径.

任何人都知道如何正确使用环境变量?

c# path environment-variables folderbrowserdialog

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

C#中的事件处理程序是否应该引发异常?

作为一般规则,是否有任何情况下,负责监听事件的方法可以引发异常(或允许抛出)引发事件的类必须处理?

鉴于此类异常会阻止其他侦听器随后被调用,但允许这种情况发生似乎有点"反社会",但另一方面,如果存在异常,它应该怎么办?

c# events exception

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

生成随机输出的单元测试代码的最佳方法是什么?

具体来说,我有一个方法从列表中选择n个项目,其中%的符合一个标准,b%符合第二个,依此类推.一个简单的例子是选择5个项目,其中50%具有值为'true'的给定属性,50%'false'; 该方法有50%的时间返回2真/ 3假,另外50%,3真/ 2假.

从统计学上讲,这意味着超过100次运行,我应该得到大约250真/ 250假,但由于随机性,240/260是完全可能的.

对此进行单元测试的最佳方法是什么?我假设即使技术上300/200是可能的,如果发生这种情况,它应该可能无法通过测试.对于这样的案例,是否存在普遍接受的容忍度?如果是这样,您如何确定这是什么?

编辑:在我正在处理的代码中,我没有使用伪随机数生成器或强制它随时间平衡的机制,因为挑选出的列表是在不同的生成机器.我需要能够证明,随着时间的推移,符合每个标准的平均项目数将趋向于所需的百分比.

statistics unit-testing probability

26
推荐指数
1
解决办法
2709
查看次数

如何从XSLT中抛出异常?

如果一个标签不包含属性,我想抛出异常.

java xml xslt

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

表格单元格中文本的垂直对齐方式

我想在第二个单元格中将文本对齐到底部.第一个单元格延伸到2行,因为宽度不足而且没有问题但是第二个单元格中的文本只有一行并显示在单元格的顶部.我怎样才能将它对齐到底部?

我在行,单元格和块级别上尝试了vertical-align ="bottom"text-align ="bottom"text-align ="end"..它们中的任何一个都有效吗?!?

<fo:table font="normal 10 pt Arial, sans-serif" width="100%">
<fo:table-column column-width="40mm"/>
<fo:table-column column-width="130mm"/>
<fo:table-body>
<fo:table-row>
  <fo:table-cell padding-before="3pt" padding-after="3pt">
     <fo:block font-weight="bold">Pricing Rate in % p.a. / "Pensionssatz in % p.a.":</fo:block>
  </fo:table-cell>
  <fo:table-cell padding-before="3pt" padding-after="3pt">
    <fo:block> 
     **This text I want to be aligned to bottom (in the second line)** 
     </fo:block> 
  </fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
Run Code Online (Sandbox Code Playgroud)

xsl-fo alignment vertical-alignment

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

在javascript中是否有任何跨平台的方法来验证xml对xsd?

据我所知,这样做的唯一方法是使用Microsoft DOM对象,但据我所知,如果您在Linux上浏览Firefox时,这并不是普遍可用的.

出于安全性和最小化网络流量的原因,我无法将xml传递给外部工具进行验证(就像我希望的那样).无论使用何种浏览器/平台,有没有办法让javascript执行此操作?

javascript xml xsd

15
推荐指数
3
解决办法
5370
查看次数

垂直对齐TableLayoutPanel中的控件

有没有办法让TableLayoutPanel上的控件的文本内容正确对齐?我在第0列中有标签,在第1列中有文本框(或偶尔使用ComboBox或NumericUpDown控件),但标签中的文本通常是大多数行上的一个像素或两个(垂直).

c# tablelayoutpanel vertical-alignment winforms

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

围绕中心旋转矩形

我正在玩Brad Larsen对轨迹球应用程序的改编.
我有两个相互成60度角的视图,并想知道如何让旋转位于这个(非闭合)矩形的中心?

在下面的图像中,我希望旋转发生在蓝线内.

在此输入图像描述 在此输入图像描述 在此输入图像描述

代码(修改为仅围绕x轴旋转):

#import "MyView.h"

//=====================================================
// Defines
//=====================================================

#define DEGREES_TO_RADIANS(degrees) \
    (degrees * (M_PI / 180.0f))

//=====================================================
// Public Interface
//=====================================================

@implementation MyView

- (void)awakeFromNib
{
    transformed = [CALayer layer];
    transformed.anchorPoint = CGPointMake(0.5f, 0.5f);

    transformed.frame = self.bounds;
    [self.layer addSublayer:transformed];

    CALayer *imageLayer = [CALayer layer];
    imageLayer.frame = CGRectMake(10.0f, 4.0f, self.bounds.size.width / 2.0f, self.bounds.size.height / 2.0f);
    imageLayer.transform = CATransform3DMakeRotation(DEGREES_TO_RADIANS(60.0f), 1.0f, 0.0f, 0.0f);
    imageLayer.contents = (id)[[UIImage imageNamed:@"IMG_0051.png"] CGImage];
    imageLayer.borderColor = [UIColor yellowColor].CGColor;
    imageLayer.borderWidth = 2.0f;
    [transformed …
Run Code Online (Sandbox Code Playgroud)

iphone core-animation core-graphics ios

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

在C#中引发事件,忽略处理程序引发的异常

我在C#中引发事件的一个小问题是事件处理程序中的异常会破坏我的代码,并且可能会阻止其他处理程序被调用,如果破坏的那个正好先被调用; 在大多数情况下,如果正在侦听其事件的其他人的代码被破坏,我的代码就不会在意.

我创建了一个捕获异常的扩展方法:

public static void Raise(this EventHandler eh, object sender, EventArgs e)
{
  if (eh == null)
    return;
  try
  {
    eh(sender, e);
  }
  catch { }
}
Run Code Online (Sandbox Code Playgroud)

虽然这确实意味着我的代码仍然存在,但是这种方法不会阻止第一个事件处理程序抛出异常并阻止第二个和后续处理程序被通知该事件.我正在研究迭代GetInvocationList以将每个单独的事件处理程序包装在它自己的try/catch中的方法,但这似乎效率低下,而且我不确定最好的方法,或者即使我应该这样做.

另外,我真的很不舒服,只是忽略了这里的例外(并且没有FxCop/Resharper); 实际上,在这种情况下,例外应该发生什么?

c# events exception

9
推荐指数
1
解决办法
2212
查看次数

如何防止测试用例中的"过度测试"?(C#/ NUnit的)

我正在研究一些测试用例,我经常发现在每种情况下我都会遇到多个断言.例如(为简洁而过度简化和删除注释):

[Test]
public void TestNamePropertyCorrectlySetOnInstantiation()
{
  MyClass myInstance = new MyClass("Test name");
  Assert.AreEqual("Test Name", myInstance.Name);
}
Run Code Online (Sandbox Code Playgroud)

原则上这看起来是可以接受的,但是测试的目的是验证当使用给定名称实例化类时,Name属性设置正确,但是如果在实例化时出现任何问题,它甚至在它到达之前就会失败断言.

我像这样重构它:

[Test]
public void TestNamePropertyCorrectlySetOnInstantiation()
{
  MyClass myInstance;
  string namePropertyValue;

  Assert.DoesNotThrow(() => myInstance = new MyClass("Test name"));
  Assert.DoesNotThrow(() => namePropertyValue = myInstance.Name);
  Assert.AreEqual("Test Name", namePropertyValue);
}
Run Code Online (Sandbox Code Playgroud)

但是,当然,现在我实际上在这里测试了三件事; 在此测试中,我对测试MyClass实例是否已成功实例化,或者是否已成功读取Name属性感兴趣,这些在另一种情况下进行了测试.但是,如果前两个失败,我怎么能在不断言其他两个断言的情况下测试最后一个断言,因为它甚至不可能进行测试?

c# nunit unit-testing

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