Xcode是否支持任何类似于Visual Studio样式#region指令的任意代码折叠?
请考虑以下代码:
[Test]
public void WidgetTest()
{
foreach (Widget widget in widgets)
{
Assert.AreEqual(0, widget.SomeValue);
}
}
Run Code Online (Sandbox Code Playgroud)
如果其中一个断言失败,我将得到一个非常无用的错误消息,如下所示:
1) Test Failure : WidgetTest.TestSomeValue
Expected: 0
But was: 1
at WidgetTest.TestSomeValue()
Run Code Online (Sandbox Code Playgroud)
所以,问题是,如何让NUnit显示更多有用的信息,例如小部件的名称,或循环的迭代等?即使行号也会更有帮助,因为这是以自动方式运行的,我希望能够在不调试代码的情况下发现失败的断言.
我想在透明位图上绘制抗锯齿文本,并将抗锯齿绘制为alpha混合像素.这样,我可以将位图绘制到任何颜色表面(或图像,就此而言),并且抗锯齿仍然看起来很好.
以下是显示问题的简化示例:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Bitmap bitmap = new Bitmap(this.Width, this.Height);
Graphics g = Graphics.FromImage(bitmap);
g.Clear(Color.Empty);
g.DrawString("hello world", new Font(this.Font.FontFamily, 24), Brushes.Blue, new Point(50, 50));
e.Graphics.DrawImage(bitmap, new Point(0, 0));
}
Run Code Online (Sandbox Code Playgroud)
这是结果:
alt text http://img194.imageshack.us/img194/9065/captureotd.png
最终目标是使用UpdateLayeredWindow绘制透明的alpha混合窗口.我正在创建一个类似Conky的应用程序,我希望能够使用ClearType渲染文本(当然,这很容易,没有抗锯齿).
目前,我抓住表单后面的屏幕,绘制它,然后绘制我的文本.它看起来不错,但必须更新并且绘制缓慢.在桌面上完成绘图文本的任何其他想法也将受到欢迎.
我正在使用Boost :: Test库,我正在尝试检查实际百分比值是否接近预期值:
BOOST_CHECK_CLOSE_FRACTION(
items[i].ExpectedPercent,
items[i].ActualCount / totalCount,
0.05);
Run Code Online (Sandbox Code Playgroud)
由于某些原因,即使值足够接近,此检查也会失败:
difference between items[i].ExpectedPercent{0.40000000000000002}
and items[i].ActualCount / totalReturned{0.42999999999999999}
exceeds 0.050000000000000003
Run Code Online (Sandbox Code Playgroud)
这是Boost的问题还是我使用Boost的问题?
根据__interface上的MSDN doc,Visual C++接口"不能包含构造函数,析构函数或运算符".
为什么接口不能包含运算符?返回引用的get方法之间有多大区别:
SomeType& Get(WORD wIndex);
Run Code Online (Sandbox Code Playgroud)
和重载的索引器操作符?
SomeType& operator[](WORD wIndex);
Run Code Online (Sandbox Code Playgroud) 基本上,我有一个纯虚拟类Base,以及一个继承自Base的具体类Derived.然后我分配一块内存并通过简单的转换将其视为Derived数组.然后,我使用=填充数组.最后,我循环遍历数组,尝试调用在Base中声明并在Derived中定义的虚方法GetIndex.
问题是我最终得到一个访问冲突异常试图读取指向vtable for Base的指针(在Visual Studio调试中,这显示为__vfptr,它始终是0xbaadf00d).
以下是我遇到的问题的一个简单示例:
#include "stdafx.h"
#include "windows.h"
struct Base
{
virtual int GetIndex() const = 0;
};
struct Derived : public Base
{
int index;
Derived()
{
static int test = 0;
index = test++;
}
int GetIndex() const
{
return index;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
int count = 4;
// Also fails with malloc
Derived* pDerived = (Derived*)HeapAlloc(GetProcessHeap(), 0, sizeof(Derived) * count);
for (int i = 0; i < count; i++)
{ …Run Code Online (Sandbox Code Playgroud) c++ ×3
c# ×2
assert ×1
boost ×1
boost-test ×1
code-folding ×1
gdi+ ×1
inheritance ×1
interface ×1
nunit ×1
objective-c ×1
unit-testing ×1
visual-c++ ×1
vtable ×1
winforms ×1
xcode ×1