小编use*_*969的帖子

Datagrid设置焦点在新添加的行上

我有一个绑定到可观察集合的数据网格.当用户按下"添加按钮"时,它会添加一个新行,我通过向observablecollection添加一个新元素来实现.

我无法弄清楚如何使第一个单元格成为新添加的行,就好像我们正在编辑一样.我正在使用MVVM模式.

任何想法或建议?

wpf

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

改进此通用请求响应模式

最近我似乎正在处理许多请求/响应的东西,我想创建一些通用的东西.

我有以下但我不满意创建多个ifs语句,我想避免它们.

这个想法是这样的:

无论请求/响应过程如何.如何在我的通用请求处理程序中删除这些if语句?

class Program
{
    private static void Main()
    {
        IRequestResponseFactory factory = new RequestResponseFactory();

        var customerRequest = new CustomerRequest { Name = "Joe", Surname = "Bloggs" };
        var customerResponse = factory.ProcessRequest<CustomerRequest, CustomerResponse>(customerRequest);

        var billRequest = new BillRequest() { Amount = 100m };
        var billResponse = factory.ProcessRequest<BillRequest, BillResponse>(billRequest);

        Console.WriteLine(billResponse.Success);
        Console.WriteLine(customerResponse.Success);
        Console.ReadKey();

    }
}


public class CustomerRequest : IRequestData<CustomerResponse>
{
    public string Name { get; set; }
    public string Surname { get; set; }
}

public class CustomerResponse …
Run Code Online (Sandbox Code Playgroud)

c# design-patterns

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

如何在sql server中的字符串中获取最后一个char

有点生锈的SQL.在select语句中,如果字段"string"以字母A,B或F结尾,则打印0k,否则打印否

我知道我需要做一些子串但不能正确.

谢谢

t-sql sql-server

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

如何断言/验证Moq保护方法?

我有一个应该返回true的私有方法.我使用Nunit和MOQ所以我有如下:

[TestFixture] 
public class CustomerTestFixture 
{ 
    var customerMock=new Mock<ICustomer>() 
    customerMock.Protected().Setup<bool>("CanTestPrivateMethod").Returns(true); 

    // How do I assert it now since I cannot do 
    customerMock.Verify //Verify does not exists.
}
Run Code Online (Sandbox Code Playgroud)

无法在谷歌上找到任何告诉你如何测试它的东西.你可以看到我可以为它设置但不能断言.

我错过了明显的吗?非常感谢.

.net c# unit-testing moq mocking

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

删除/更新多对多实体框架.无法让它发挥作用

我使用EF4并且有多项更新和删除项目的问题.我很高兴插入,但更新和删除无法搞清楚.

假设我有3个表和3个匹配的dto类

  1. ClassRoom表

       ClassID-ClassName 
    
    Run Code Online (Sandbox Code Playgroud)
  2. 学生表

       StudentID-StudentName
    
    Run Code Online (Sandbox Code Playgroud)
  3. StudentClass表

       StudentID-ClassID
    
    
    ///Happy all works I am using existing students to populate the class. Fine.
    private void InsertClassRoom(ClassRoomDto classRoomDto)
    {
        using (var ctx = new TrainingContext())
        {
            //Convert dto to Entity
            var classRoomEntity = new ClassRoom { ClassID = classRoomDto.ClassId, ClassName = classRoomDto.ClassName };
            foreach (var studentInClass in classRoomDto.Students)
            {
                Student student = ctx.Students.Where(x => x.StudentID == studentInClass.StudentId).SingleOrDefault();
                classRoomEntity.Students.Add(student);
            }
            ctx.AddToClassRooms(classRoomEntity);
            ctx.SaveChanges();
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

但我有2个场景无法弄清楚该怎么做.

  1. 更新教室名称
  2. 加1名学生
  3. 更新1名学生的姓名

从班级中删除学生.
我该怎么做?

这是我尝试更新:

private void UpdateClassRoom(ClassRoomDto …
Run Code Online (Sandbox Code Playgroud)

entity entity-framework-4

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

c#Windows窗体.net 4中的最近文件列表

只是想知道是否有人已经实现了最近的文件列表以及他们是如何接近的.寻找想法.

正在考虑收集并保存为某个地方的xml文件(用户....)以及添加新文件时检查是否存在以及是否删除并重新添加,以便您始终拥有最新的20个文件.

有什么建议?

c# winforms

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

CodeContracts和resharper vs2012无法正常工作

我有Resharper,它是一个很棒的工具启动项目,我需要使用CodeContracts.然而,Resharper忽略了它们.在查看几个博客后,我遇到了这个:

http://www.infinitec.de/post/2010/11/18/Using-Code-Contracts-Visual-Studio-and-with-Resharper.aspx

但是我收到了一个错误

Error   2   

The command ""C:\Program Files (x86)\Microsoft\Contracts\Bin\ccrewrite" 
"@MyProject.Coreccrewrite.rsp"" exited with code 1.
Run Code Online (Sandbox Code Playgroud)

有没有人设法让codecontracts和resharper一起工作?

编辑

我在做什么

尝试使用codeContract和resharper给出了Method invocation is skipped等等.

谷歌搜索,发现很多人有同样的问题,没有解决方案.

正如你所看到的,我附上了一个应该完成这个技巧的链接,但没有

在vs2012中创建一个新项目并尝试使用代码契约,resharper将不会让你.它将被禁用,如果您启用它,您将收到另一个错误

来自Resharper团队的评论 http://youtrack.jetbrains.com/issue/RSRP-182553#comment=27-200330

ReSharper将不会中期未来那样支持"代码合同" .这有两个主要原因:

  1. CodeContracts是在代码块中编写的,而且还在单独的程序集中编写.ReSharper要求合同处于元数据级别
  2. 目前的合同太复杂,不应该实时分析.

在ReSharper开发期间,我们分析CodeContracts并构建相应的ReSharper代码注释标记.我们将扩展我们的注释,并始终使它们与合同保持同步.

我塞满了!!!

resharper code-contracts

6
推荐指数
0
解决办法
1801
查看次数

将命名空间添加到现有XDocument

我需要使用Linq到xml来操作一些xml文件.

我有一个我加载的现有XDocument

现在我似乎无法为其添加命名空间.

我做:

//Load an existing xml into a XDocument
XDocument xdoc=XDocument.Load(myXml);

//Create a namespace
 XNamespace myNS="http://www.w3.org/2001/XMLSchema-instance/MyShinyNewNamespace";
 xAttribute myAttr=new XAttribute(XNamespace.Xmlns +"myNS",myNS);

  //Add new namepsace to root

 xdoc.Root ????

What do you do here?
Run Code Online (Sandbox Code Playgroud)

如何检索我的命名空间?

如何删除/替换?

非常感谢

linq-to-xml

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

图像数据类型对局部变量无效(使用openrowset无法使其工作)

使用Sql server 2005

我需要调用一个包含许多参数的存储过程,另一个是用于word文档的图像列.我无法更改数据库,因为它不在我的控制之下.我似乎无法在变量中设置openrowset的结果

The text, ntext, and image data types are invalid for local variables.

什么是解决方法?

下面是无法使其工作的代码.

DECLARE BinaryContent image
SET @BinaryContent=(SELECT BulkColumn FROM OPENROWSET(BULK N'C:\mydoc.docx',    SINGLE_BLOB) blob


 EXEC   [dbo].[InsertWordDocument]
    @Id = NEWID,
    @Name = N'DocName',
    @Description = N'DescriptionToChange',
    @BinaryColumn =@BinaryContent
Run Code Online (Sandbox Code Playgroud)

我怎样才能完成上述工作?

非常感谢.

t-sql sql-server openrowset

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

嘲弄ChildProperty无法让它工作?

我试图测试嵌套在子类中的属性.我总是得到一个错误.我错过了什么吗?是否可以在moq中测试子属性.

我有以下内容

     [Test]
public void Should_be_able_to_test_orderCollection()
    {
        var orderViewMock = new Mock<IOrderView>();
        orderViewMock.SetupGet(o => o.Customer.OrderDataCollection.Count).Returns(2);          

        orderViewMock.SetupSet(o => o.Customer.OrderDataCollection[1].OrderId = 1);

        orderViewMock.VerifySet(o => o.Customer.OrderDataCollection[1].OrderId=1);
    }

    public class CustomerTestHelper
    {
        public static CustomerInfo GetCustomer()
        {
            return new CustomerInfo
           {
               OrderDataCollection = new OrderCollection
                 {
                     new Order {OrderId = 1},
                     new Order {OrderId = 2}
                 }
           };

        }
    }
    public class CustomerInfo
    {
        public OrderCollection OrderDataCollection { get; set; }
    }

    public class OrderCollection:List<Order>
    {
    }

    public class Order
    {
        public int OrderId …
Run Code Online (Sandbox Code Playgroud)

moq

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