小编Mar*_*ijn的帖子

告诉Resharper使用spring.net DI配置检查未使用的类?

当我的部分代码从未使用时,Resharper会发出警告; 这非常有帮助.

但是,我有很多类没有被其他代码直接引用.这些类仅用于依赖注入(DI)配置.

我使用spring.net进行DI.DI配置采用xml格式.

有什么方法可以告诉Resharper使用DI文件来检查未使用的类吗?

我知道我可以用以下方法压制Resharper警告:

// ReSharper disable UnusedMember.Global
public class TheClass : IInterfaceWiredUsingSpringDI
// ReSharper restore UnusedMember.Global
Run Code Online (Sandbox Code Playgroud)

但我不太喜欢这个 - 它很难阅读,我真的不想压制警告.

注意:

我在jetbrains论坛上发现了一种不那么突兀且更具可读性的方法来抑制警告.定义此自定义属性时:

[MeansImplicitUse]
public class IoCAttribute : Attribute { }
Run Code Online (Sandbox Code Playgroud)

然后你可以取消警告:

[IoC]
public class TheClass : IInterfaceWiredUsingSpringDI 
Run Code Online (Sandbox Code Playgroud)

c# resharper dependency-injection spring.net

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

使用Spring.NET配置确认

有没有办法用Spring.NET配置Acknowledgements?

在代码中它看起来像这样:

var msgQ = new MessageQueue(OrdersQueueName)
           {
             DefaultPropertiesToSend =
             {
               AcknowledgeType = AcknowledgeTypes.FullReachQueue |
                                 AcknowledgeTypes.FullReceive,
               AdministrationQueue = new MessageQueue(AckQueueName)
             }
           };
Run Code Online (Sandbox Code Playgroud)

可以用ProductTemplate吗?其他方式?

msmq spring.net

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

C#应用程序设置中的可选字段

有没有办法在应用程序设置中创建一些可选字段.例如,对于一个客户端,我们需要在设置文件中使用一些基于客户端的设置,如下所示:

<?xml version="1.0"?>
<configuration>
  <configSections>
    <userSettings>
      <setting name="Client_1_out_folder" serializeAs="String">
        <value>c:\</value>
      </setting>
      <setting name="Some_other_setting" serializeAs="String">
        <value>True</value>
      </setting>
      ...
Run Code Online (Sandbox Code Playgroud)

而对于其他客户端我们Client_1_out_folder根本不需要它,所以保持配置文件清洁将很好地从配置文件中一起删除它.因此对于客户端2,配置文件的一部分看起来像:

<?xml version="1.0"?>
<configuration>
  <configSections>
    <userSettings>
      <setting name="Some_other_setting" serializeAs="String">
        <value>True</value>
      </setting>
      ...
Run Code Online (Sandbox Code Playgroud)

c# settings

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

如何使用kdiff获取目录git branch diff

我用我的git配置了kDiff3.

我需要的是看到两个分支之间的目录差异.我跑的时候

git difftool <headbranch>

命令它逐个打开所有文件.但那不是我想要的.

git diff difftool kdiff3

9
推荐指数
2
解决办法
5390
查看次数

在可折叠树上添加节点文本的超链接

我想在可折叠树示例中的节点文本上添加超链接.

我怎样才能做到这一点?

d3.js

9
推荐指数
2
解决办法
6426
查看次数

模型视图演示者,如何在视图之间传递实体?

编辑:接受克里斯霍姆斯的回应,但如果有人想出更好的方法,总是准备好重构!谢谢!

使用MVP做一些winforms将实体传递给另一个视图的最佳方法是什么.

假设我有一个CustomerSearchView/Presenter,在doubleClick我想显示CustomerEditView/Presenter.我不希望我的视图知道模型,所以我不能创建一个ICustomer参数的ctor .

我的反应是,

CustomerSearchView创建一个新的CustomerEditView,创建它自己的演示者.然后我CustomerSearchView会做类似的事情:

var customerEditView = new CustomerEditView();
customerEditView.Presenter.Customer = this.Presenter.SelectedCustomer;
Run Code Online (Sandbox Code Playgroud)

其他可能的方法是一个CustomerDTO类,并使其CustomerEditView接受其中一个CustomerDTO,但我认为这是一项很简单的工作.

对不起基本的问题,但我发现的所有例子都没有达到这一点,这是一个棕色的项目,到目前为止使用的方法让我很头疼......

c# mvp winforms

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

为什么州不能成为MVP中的Presenter的一部分?

我读了http://www.codeproject.com/KB/architecture/MVC_MVP_MVVM_design.aspx,它说:

虽然它们很强大,但MVC和MVP都存在问题.其中之一是View状态的持久性.例如,如果作为域对象的Model对UI没有任何了解,并且View没有实现任何业务逻辑,那么我们将在哪里存储View的元素(如所选项)的状态?Fowler以Presentation Model模式的形式提出了一个解决方案.

我想知道为什么Presenter无法持有View状态?它已经拥有所有View逻辑.

据我所知,在MVC和MVP中,状态保持在View中.在PM和MVVM中,状态保存在Presentation Model中.为什么Presenter在这种特殊情况下不能跟踪PM并包含视图的状态?

这是另一篇文章说Presenter没有View状态,而是视图:http://www.codeproject.com/KB/aspnet/ArchitectureComparison.aspx

architecture theory mvp mvvm

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

未知的鉴别器值'MyEvent'

joliver/EventStore中使用MongoDB persistance引擎导致错误Unknown discriminator value 'MyEvent'.问题只是在我尝试加载所有事件以重放事件时引起的this.storeEvent.Advanced.GetFrom(new DateTime(2010, 1,1))

这些问题是在ExtensionsMethods.cs中引起的

public class MyClassEvent : IDomainEvent { ... }

public static Commit ToCommit(this BsonDocument doc, IDocumentSerializer serializer)
    {
        if (doc == null)
            return null;

        var id = doc["_id"].AsBsonDocument;
        var streamId = id["StreamId"].AsGuid;
        var commitSequence = id["CommitSequence"].AsInt32;

        var events = doc["Events"].AsBsonArray.Select(e => e.AsBsonDocument["Payload"].IsBsonDocument ? BsonSerializer.Deserialize<EventMessage>(e.AsBsonDocument["Payload"].AsBsonDocument) : serializer.Deserialize<EventMessage>(e.AsBsonDocument["Payload"].AsByteArray)).ToList();
        var streamRevision = doc["Events"].AsBsonArray.Last().AsBsonDocument["StreamRevision"].AsInt32;
        return new Commit(
            streamId,
            streamRevision,
            doc["CommitId"].AsGuid,
            commitSequence,
            doc["CommitStamp"].AsDateTime,
            BsonSerializer.Deserialize<Dictionary<string, object>>(doc["Headers"].AsBsonDocument),
            events);
    }
Run Code Online (Sandbox Code Playgroud)

我的配置是这样的:

 Wireup.Init()                
            .UsingMongoPersistence(connectionName, new DocumentObjectSerializer())
            .UsingBsonSerialization() …
Run Code Online (Sandbox Code Playgroud)

event-sourcing event-store mongodb-.net-driver

8
推荐指数
2
解决办法
5851
查看次数

以bootstrap x-editable形式设置最大长度

我需要在bootstrap xeditable表单中设置文本框的最大长度.事情是,出现的文本框是表单的构建功能,所以我无法将maxlength设置为html属性.我尝试使用jquery但它的没有锻炼.(我无法附上截图)请帮我解决这个问题,

css jquery twitter-bootstrap

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

在多个配置文件中重新定义spring.net对象

我正在使用spring.net IOC依赖注入为我的asp.net Web应用程序设置我的xml配置文件.我在web.config中引用了每个配置文件.spring.net配置文件(settings.xml)中的设置示例如下:

<object id="obj1"
      type="NS.Common.Cache.Class, NS.Common"
      singleton="true"
      init-method="Initialize"
      destroy-method="Dispose">
  <property name="Name" value="My Name" />
</object>
Run Code Online (Sandbox Code Playgroud)

一切正常.

现在我在多个环境中安装我的Web应用程序,所以我正在为环境创建一个spring.net配置文件,例如.dev,qa,prod.

因此,在安装应用程序时,web.config中会引用适用的环境spring文件.这是自动安装程序的一部分.

在qa环境文件中,我想将"obj1"上面的对象重新定义为:

<object id="obj1"
    type="NS.Common.Cache.Class2, NS.Common"
    singleton="true"
    init-method="Initialize"
    destroy-method="Dispose">
  <property name="Name" value="My New Name" />
</object>
Run Code Online (Sandbox Code Playgroud)

但是,由于这是自动的(添加对环境文件的引用),因此不会更改settings.xml文件.

现在引用具有相同id的已定义对象的2个文件 - 这会导致主要问题,因为将发生运行时错误.

是否有任何方法可以包含在qa.xml和flag等中以突出显示此对象定义覆盖具有相同对象ID的任何其他xml文件中的任何其他已定义对象?

c# dependency-injection spring.net inversion-of-control

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