小编Pad*_*oti的帖子

DbContext和DataContext一样吗?

我正在按照Scott Gu的一个教程来引用一个名为DbContext的类.我无法在框架4上的任何命名空间中找到它,在我看来,它已从CT4 DbContext重命名为.net4 System.Data.Linq.DataContext.我的假设是否正确?

c# database entity-framework-4

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

如何在代码后面展开WPF树视图的所有节点?

我可能会遇到星期一的愚蠢,但是在我将它们添加到后面的代码中后,我找不到扩展所有树视图节点的好方法(比如treeView.ExpandAll()).

有什么快速帮助?

c# wpf treeview expand

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

如何TDD异步事件?

基本问题是如何创建需要调用方法的单元测试,等待测试类上的事件发生,然后调用另一个方法(我们实际想要测试的方法)?

如果您有时间进一步阅读,这是场景:

我正在开发一个必须控制硬件的应用程序.为了避免硬件可用性的依赖性,当我创建对象时,我指定我们在测试模式下运行.当发生这种情况时,正在测试的类会创建适当的驱动程序层次结构(在这种情况下是一个精简的模拟硬件驱动程序层).

想象一下,所讨论的课程是电梯,我想测试给出电梯所在楼层号的方法.以下是我的虚拟测试现在的样子:

[TestMethod]
public void TestGetCurrentFloor()
{
    var elevator = new Elevator(Elevator.Environment.Offline);
    elevator.ElevatorArrivedOnFloor += TestElevatorArrived;

    elevator.GoToFloor(5);

    //Here's where I'm getting lost... I could block
    //until TestElevatorArrived gives me a signal, but
    //I'm not sure it's the best way

    int floor = elevator.GetCurrentFloor();

    Assert.AreEqual(floor, 5);
}
Run Code Online (Sandbox Code Playgroud)

编辑:

感谢所有的答案.这就是我最终实现它的方式:

    [TestMethod]
    public void TestGetCurrentFloor()
    {
        var elevator = new Elevator(Elevator.Environment.Offline);
        elevator.ElevatorArrivedOnFloor += (s, e) => { Monitor.Pulse(this); };

        lock (this)
        {
            elevator.GoToFloor(5);

            if (!Monitor.Wait(this, Timeout))
                Assert.Fail("Elevator did not reach destination in …
Run Code Online (Sandbox Code Playgroud)

c# tdd events asynchronous

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

具有相对尺寸的RectangleGeometry ......怎么样?

我正试图在我正在创建的按钮的控制模板上复制如今时尚的"反射"效果.

基本思想是创建一个矩形,其渐变填充从白色到透明,然后用矩形几何体剪切一些半透明矩形.

问题是我不知道如何定义相对矩形几何.我通过定义一个大值(1000)来解决宽度问题,但高度是一个问题.例如,它适用于高度为200的按钮,但对于较小的按钮不起作用.

有任何想法吗?

            <Rectangle RadiusX="5" RadiusY="5" StrokeThickness="1" Stroke="Transparent">
                <Rectangle.Fill>
                    <LinearGradientBrush StartPoint="0,0" EndPoint="0,0.55">
                        <GradientStop Color="#66ffffff" Offset="0.0"  />
                        <GradientStop Color="Transparent" Offset="1.0" />
                    </LinearGradientBrush>
                </Rectangle.Fill>
                <Rectangle.Clip>
                    <RectangleGeometry Rect="0,0,1000,60" />
                </Rectangle.Clip>
            </Rectangle>
Run Code Online (Sandbox Code Playgroud)

wpf controls clipping controltemplate

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

如何使用Moq库创建SerialPort模拟?

我必须写很多处理串口的代码.通常会在电线的另一端连接一个设备,我通常会创建自己的模拟来模拟它们的行为.

我开始看Moq来帮助我进行单元测试.当你只需要一个存根时,使用它非常简单,但我想知道它是否可行,如果是,我如何为硬件设备创建一个模拟器,根据我想要测试的内容做出不同的响应.

一个简单的例子:

我与之接口的设备之一接收命令(移动到位置x),返回ACK消息并进入"移动"状态,直到它到达有序位置.

我想创建一个测试,我发送移动命令,然后继续查询状态,直到它到达最终位置.

我想为两个不同的测试创建两个版本的模拟,一个是我希望设备成功到达最终位置,另一个是失败.

要问的问题太多了?

.net c# unit-testing moq mocking

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

如何从TFS API中的产品Backlog项检索子任务列表?

给定某个产品积压ID,我想以编程方式检索PBI的子任务列表.

我知道任务中没有一个字段显示"Parent PBI Id".我有一个正在运行的代码版本,但这真的很慢,因为我已经在客户端执行了部分过滤.

看看我现在的表现如何:

string wiqlQuery =
    string.Format(
        "Select ID, [Remaining Work], State " +
        "from WorkItems " +
        "where (([Work Item Type] = 'Task')" +
        " AND ([Iteration Path] = '{0}' )" +
        " AND (State <> 'Removed')" +
        " AND (State <> 'Done')) ",
        sprint, storyId);

// execute the query and retrieve a collection of workitems
WorkItemCollection workItems = wiStore.Query(wiqlQuery);

if (workItems.Count <= 0)
    return null;

var result = new List<TaskViewModel>();
foreach (WorkItem workItem in workItems)
{ …
Run Code Online (Sandbox Code Playgroud)

.net c# tfs-sdk tfs2010

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

Adorner打破了MVVM吗?

我正在使用MVVM开发一个WPF应用程序.我的大多数视图只有xaml标记,后面的代码没有任何内容(默认样板除外).

除了一个视图之外的所有视图,当我想要禁用整个屏幕时,我使用装饰器来"屏蔽"屏幕.

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        //todo: transfer to modelview
        contentAreaAdorner = AdornerLayer.GetAdornerLayer(contentArea);
        waitingAdorner = new WaitingAdorner(contentArea);
    }
Run Code Online (Sandbox Code Playgroud)

这可以吗?或者有更好的方法在我的viewmodel中实现它?

c# wpf xaml adorner mvvm

5
推荐指数
1
解决办法
2774
查看次数

Apple的MFi计划

这里有没有人在"Made for iPhone"计划下开发硬件的经验?我有一个通过蓝牙广播信息的设备,到目前为止制作显示该信息的iPhone应用程序的唯一方法是,如果我通过MFi程序并将Apple提供的芯片添加到我的硬件中.

是对的吗?有人有更多细节吗?

iphone bluetooth mfi

5
推荐指数
1
解决办法
3497
查看次数

如何在eclipse上调试图像处理项目?

在工作中,我们拥有丰富的经验,使用旧版本的代码编写器(CC 3.3)为TI DSP平台开发图像处理应用程序.我们正在使用Eclipse(由Xilinx调整和分发)转换到ARM平台.

在旧的代码编写器中,我们经常使用的一个功能是IDE小部件,它可以将某个内存区域显示为位图图像.它有一个属性网格,您可以在其中定义大小,像素格式和步幅方向等内容,以便将内存blob正确地解释为图片.该工具还具有一些很好的功能,如缩放,灰度计数器,线条轮廓,直方图等.

eclipse有类似的东西吗?如果没有,创建一个有多难?我的意思是,为eclipse创建一个从jtag界面中的内存位置获取信息的裸带插件有多难?

c++ eclipse embedded eclipse-plugin image-processing

5
推荐指数
1
解决办法
1235
查看次数

WPF:如何为组件列表设置动画?

假设我有一个可视对象列表(CustomControls).它们可以在StackPanel内部或者是ListView上的项目,我认为容器是这个问题的答案的一部分.

在视觉上,您可以将这些对象视为队列中的项目.每当我从这个队列的底部弹出一个对象时,我想用弹出的对象走出视图框架来动画整个队列,并且新的一个(假设查看框架只显示一个子集)滑入其余的元素.

创建这个动画的最佳方法是什么?最好的容器是什么?

.net wpf user-interface animation

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

为什么返回std :: vector仍在制作副本?

我有一个类,它将创建一个非常大的数据,我不想被复制.对于所有考虑因素,对于我班级以外的任何人来说,它都是不可变的(只读).

这是一个概念代码,显示了我想如何实现它:

class C {
public:
    C();
    std::vector<int> const& get_vector() { return m_vector; }
private:
    std::vector<int> m_vector;
};

C::C()
{
    m_vector.push_back(1);
    m_vector.push_back(2);
}

void DisplayVector(std::vector<int> const& new_v)
{
    for (int i = 0; i<new_v.size(); i++)
        std::cout << new_v[i] << std::endl;
}

int _tmain(int argc, _TCHAR* argv[])
{
    C myobj;
    std::vector<int> v = myobj.get_vector();
    v.push_back(3);

    DisplayVector(v);
}
Run Code Online (Sandbox Code Playgroud)

当我单步执行此代码时,我会看到m_vector的给定内存地址及其数组的第一个元素(使用begin iterator).

当我从get_vector返回时,向量"v"及其第一个元素具有完全不同的内存地址.v.push_back(3)修改v没有任何问题(因为它看起来是副本)

当我调用DisplayVector时,它按预期工作,new_v地址与main v相同.

我究竟做错了什么?

c++ stl vector

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