小编Gar*_*ghi的帖子

如何从局部视图中获取父视图

我有部分视图作为_Layout.cshtml的一部分,因此它在多个页面上呈现.将局部视图视为在网站上的每个页面上显示的菜单.

当点击局部视图菜单中的其中一个链接时,我只能访问/看到被称为局部视图的Action Method,就像它的名字一样.

但我真正需要的是在单击项目时部分视图处于打开状态的视图.

我怎么能得到这个?

asp.net-mvc-3

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

无法将参数从'int'转换为'int&'

我正在关注复数C++课程,其中包含以下代码:

#include <iostream>

template <class T>
T max(T& t1, T& t2)
{
    return t1 < t2 ? t2 : t1;
}

int main()
{
    std::cout << "Max of 33 and 44 is " << max(33, 44) << std::endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我键入了这段代码,但与课程代码不同,我收到一条错误消息:

C2664: 'max' : cannot convert parameter 1 from 'int' to 'int &'
Run Code Online (Sandbox Code Playgroud)

本课程中的代码是用Visual Studio Express 2010编写的,而我的代码是用Visual Studio Ultimate 2010编写的.


编辑

感谢所有人(甚至是凯特格雷戈里本人)提供答案并清理所有内容.

c++ visual-studio-2010

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

如何在MainWindow中显示我的用户控件?

我正在尝试构建一个小型MVVM测试应用程序,但无法真正计算出如何在MainWindow中显示我的用户控件.

My Solution Explorer:

我的解决方案如何

我有一个资源字典:

    <ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:vm="clr-namespace:MVVM.ViewModel"
    xmlns:vw="clr-namespace:MVVM.View">

    <DataTemplate DataType="{x:Type vm:ViewModel}">
        <vw:View />
    </DataTemplate>

</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)

我得到了我的观点:

<UserControl x:Class="MVVM.View.View"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
    <UserControl.Resources>
        <DataTemplate x:Key="PersonTemplate">
            <StackPanel>
                <TextBlock Text="{Binding FirstName}" />
            </StackPanel>
        </DataTemplate>
    </UserControl.Resources>

    <ListBox ItemsSource="{Binding Path=Persons}"
             ItemTemplate="{StaticResource PersonTemplate}" />
</UserControl>
Run Code Online (Sandbox Code Playgroud)

和我的主窗口

<Window x:Class="MVVM.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:vm="clr-namespace:MVVM.ViewModel"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <ResourceDictionary Source="MainWindowResources.xaml" />
    </Window.Resources>

    <Grid>

    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

wpf binding user-controls

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

未定义的CLR命名空间

我有以下内容:

错误! 错误!

错误说"clr-namespace"URI指的是程序集中未包含的名称空间"{0}".

我已经建立并重建但没有任何反应.我确信这一定必须有效,因为我下载的WPF演示应用程序具有相同的功能.这是怎么回事?

wpf

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

无法从第3版算法的介绍中获得插入排序.对.我的思维错误在哪里?

我正在通过"算法入门"第3版.解释的第一件事就是插入排序.在页18上有一些伪代码:

A = {5,2,4,6,1,3};

INSERTION-SORT(A)
1 for j = 2 to A.length
2   key = A[j]
4   i = j - 1

5   while (i > 0 and A[i] > key)
6     A[i + 1] = A[i]
7     i = i - 1

8   A[i + 1] = key
Run Code Online (Sandbox Code Playgroud)

它说使用伪代码可以很容易地将它翻译成任何一种语言(C,C++,Java,他们没有提到,但我猜C#也是如此).由于我使用C#编程,我将其翻译为LinqPad.

int[] a = { 5, 2, 4, 6, 1, 3 };

for (var j = 1; j < a.Length; j++)
{
    var key = a[j];

    var i = j - …
Run Code Online (Sandbox Code Playgroud)

algorithm pseudocode insertion-sort

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

是base.OnModelCreating(modelBuilder)必备吗?

我压倒一切OnModelCreating,在方法中就是这条线base.OnModelCreating(modelBuilder);

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);
}
Run Code Online (Sandbox Code Playgroud)

看一下如何实现这个的代码示例和手册,我感到困惑的是我是否需要它.有时它在那里,有时不在.有时在方法开始时,有时在结束时.

我该怎么办?

entity-framework entity-framework-6

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

NUnit中EqualTo()和EquivalentTo()有什么区别?

当我有一个Dictionary<string, int> actual然后Dictionary<string, int> expected用与实际相同的值创建一个全新的.

  • 调用Assert.That(actual, Is.EqualTo(expected));使测试通过.

  • 使用Assert.That(actual, Is.EquivalentTo(expected));测试时不通过.

EqualTo()和之间有什么区别EquivalentTo()

编辑:

测试未通过时异常的消息如下:

Zoozle.Tests.Unit.PredictionTests.ReturnsDriversSelectedMoreThanOnceAndTheirPositions:
Expected: equivalent to < [Michael Schumacher, System.Collections.Generic.List`1[System.Int32]] >
But was:  < [Michael Schumacher, System.Collections.Generic.List`1[System.Int32]] >
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样:

[Test]
public void ReturnsDriversSelectedMoreThanOnceAndTheirPositions()
{
    //arrange
    Prediction prediction = new Prediction();

    Dictionary<string, List<int>> expected = new Dictionary<string, List<int>>()
    {
        { "Michael Schumacher", new List<int> { 1, 2 } }
    };

    //act
    var actual = prediction.CheckForDriversSelectedMoreThanOnce();

    //assert
    //Assert.That(actual, Is.EqualTo(expected));
    Assert.That(actual, Is.EquivalentTo(expected)); …
Run Code Online (Sandbox Code Playgroud)

.net nunit unit-testing nunit-2.5

10
推荐指数
2
解决办法
3632
查看次数

服务层中的服务可以相互通信吗?

我有一个服务层,我的PredictionService需要知道某个Race是否存在.RaceService有一个方法DoesRaceExist(),但我不确定服务是否可以通信.

这也引出了一些其他问题.可以说我有一个Predictions.aspx页面.我使用MVP实现,因此当首次请求页面时,Initialize()演示者中的方法将运行.在Predictions.aspx需要多条信息,从预测和比赛,甚至更多.我应该从他们适当的服务中询问所有这些部分,还是应该只查询一次数据库并一次性获取我需要的所有信息?问题在于选择哪个服务,然后服务可能不仅仅是中继它的目的.

什么是最好的方式?

architecture c#-4.0

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

是否可以包装整数并将其称为整数?

我想让int IDictionary<int, Driver>稍微不那么模糊它的含义,所以我想也许包装它会是一个好主意.结果将是这样的IDictionary<finishPosition, Driver>.

最好,finishPosition应该像这样分配finishPosition = 1.

我不知道这是否可行以及如何实现.

c# c#-4.0

6
推荐指数
2
解决办法
839
查看次数

最有争议的帖子,IoC,Ninject,只是让事情发挥作用

我从哪里开始?

在学习程序的过程中,一个人会遇到设计模式,架构选择等.对于我来说,我从概念上理解DI,IoC以及它们为什么需要/好.模块化,低耦合高内聚 - 我明白了.

例如,我正在使用MVP模式构建一个小型测试网站,其中演示者没有具体的视图,但使用了View实现的接口.它还有一个服务层(位于演示者和BLL之间)的引用,同样没有什么具体的,使用一个接口.所有好东西.

(手动)IoC正在向上推动具体对象的实例化,以至于对象需要在某个地方注入.换句话说,依赖性仍然存在,它只是更高.输入IoC容器.并进入沮丧.

我知道他们在那里,我知道他们用的是什么.我选择使用ninject.凉.所以,我开始寻找.在我的下载中,我有一堆文件:

  • LICENSE.TXT
  • Ninject.dll
  • Ninject.pdb
  • Ninject.xml

另一个文件夹,称为扩展

  • CommonServiceLocator.NinjectAdapter.dll
  • CommonServiceLocator.NinjectAdapter.pdb

好的...一堆文件.哪个用?我不知道.我在哪里放置它们?我需要所有这些吗?问题问题......

也许看一些手册.Ninject wiki @ github.对.我开始阅读 - 为什么要使用Ninject?手动依赖注入,使用Ninject依赖注入 - 关于剑和匕首等的好例子.但我没有在任何地方阅读如何实际使用它.我在哪里将它放在Visual Studio中?怎么称呼它?怎么样?

此外,它提供了以下代码:

Bind<IWeapon>().To<Sword>();
Run Code Online (Sandbox Code Playgroud)

它说每次调用IWeapon时都会给出剑的实现.呃......好吧,还有一把匕首 - 也许我不想每次都得到一把剑,例如IWeapon在我的构造函数中作为参数,但是怎么做?它没有说!我每次使用IWeapon时都会被一把剑困住吗?如果没有,那么改变的代码是什么呢?如何?

它说当你拥有一堆构造函数时,它只会占用参数最多的构造函数.好的.如果构造函数的参数比构造函数少,那么它的作用是什么呢?我不能将ninject与这些构造函数一起使用吗?或者......它是如何工作的?再一次 - 它没有在任何地方说.诅咒!

在wiki中,有一个指向SO上最具争议的帖子的链接.这是关于一个名叫乔尔的人如何说出一些关于IoC的事情,它能够引发火焰战争/书呆子.但你知道吗?我敢说我对这个人来说是个根本.为什么?也许IoC的概念很简单,但是通过上帝 - 最终知道如何使用它,在某些情况下如何做等等真的非常令人沮丧.搜索谷歌大多没有任何用处,或者确实需要阅读其中很复杂的内容.我发现这个人在某种意义上可能是正确的 - 因为很难理解概念并向那些不理解你认为简单的事情的人解释.

为什么不能把它更像"下载文件 - 获得该文件,并将其置于方便的位置,然后去到Visual Studio,使一个新的地图和基准的DLL要使用它做这些步骤",然后解释每一步有一个非常好的和详细的原因.没有代码片段.这令人沮丧.

所以,有人可能想知道我的问题是什么.好吧,我想使用Ninject.我需要什么?我在哪里放置它?我如何让它工作?在我拥有IWeapon的任何地方,我都必须被卡住吗?当太阳在外面照耀时,我在工作中做什么?

architecture dependency-injection ninject ioc-container

6
推荐指数
2
解决办法
1057
查看次数

Linq to objects:如果number在字典中,则返回number,否则返回0

我有一个Dictionary<int int>.当我检查字典中的键的数字并且它在其中时,我希望它返回数字,否则我希望linq查询返回0.

像下面这样的东西,除了工作

var t = (from result in results
         where result.Key == 3
         select result.Key != null ? result.Value : 0).First();
Run Code Online (Sandbox Code Playgroud)

因为问题是当列表中没有数字时,序列不包含任何元素,因此您无法使用null或count进行检查.

c# linq-to-objects c#-4.0

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

根据是否有重复返回true或false

当我在我的集​​合中有重复项时,我想返回true,否则,我想返回false.

我有以下linq查询.

var t = from i in selectedDrivers
        group i by i.Value into g
        where g.Count() > 1
        select g.Count() > 1;
Run Code Online (Sandbox Code Playgroud)

但问题是,当存在多个重复时,它将返回多个trues,如果没有任何重复,则不返回任何内容(应该为false).

c# linq-to-objects c#-4.0

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