小编Ali*_*Ali的帖子

如何使用C#禁用Windows中文本框上的右键单击上下文菜单?

如何使用C#禁用Windows中文本框上的右键单击上下文菜单?这是我所拥有的,但它有一些错误.

private void textBox1_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {   
       textBox1.ContextMenu.Dispose();               
    }                       
}
Run Code Online (Sandbox Code Playgroud)

c# winforms

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

如何在GetInstance调用/替代解决方案之后在Simple Injector中进行注册?

请考虑以下示例:

public class CommunicationClient : IClient
{
    public CommunicationClient(IServerSettings settings) { ... }
    // Code         
}

public class SettingsManager : ISettingsManager
{
    SettingsManager(IDbSettingManager manager)

    // Code
    public IDictionary<string, string> GetSettings() { ... }
}
Run Code Online (Sandbox Code Playgroud)

问题:在执行注册(使用SimpleInjector)时,我需要提供从实例SetingsManager和填充ServerSettings实例(具体类型IServerSettings)获得的值,但如果我GetInstance<ISettingsManager>在注册之前调用CommunicationClient它,它会给我一个错误,我不能这样做
错误: 容器在第一次调用GetInstance,GetAllInstances和Verify后无法更改.)

一种解决方案可能是ISettingsManager作为依赖注入,CommunicationClient但我真的不想传递它,因为它将提供超过所需的信息.

编辑:集装箱登记

container.Register(typeof(ICommunicationClient), typeof(CommunicationClient));
ISettingsManager settingsManager = container.GetInstance<ISettingsManager>();

string url = settingsManager.GetSetting("url");
string userName = settingsManager.GetSetting("username");
string password = settingsManager.GetSetting("password");

container.Register(typeof(IServerConfiguration), () => …
Run Code Online (Sandbox Code Playgroud)

c# ioc-container simple-injector

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

类库和ASP.NETvNext类库之间的区别?

Class Library&ASP.NETvNext Class Library项目之间有什么区别?从项目创建开始VS 14 CTP,似乎类库根本没有改变,而'ASP.NETvNext类库'包含新的project.json文件.但是,目前尚不清楚它是否具有与ASP.NETvNext相关的任何好处?

链接表示此ASP.NETvNext库项目的编译是动态的.这两者之间还有其他差异吗?

c# class-library asp.net-core

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

如何限制CQRS中的查询类数?

我正在实施CQRS,我对查询的查询速度有多困惑.我也搜索了它,但由于CQRS的各种风味,我没有得到任何适当的解决方案.也许我在这里做错了什么?这是我的代码和各自的查询.

class User {
   public int Id { get; set; }   
   public string Username { get; set; }
   public string Status { get; set; }
   public string Role { get; set; }
   // ...
}
Run Code Online (Sandbox Code Playgroud)

我想通过用户名找到用户,所以我已经为它编写了查询

abstract class Query<TResult> { }
class FindUserByStatusQuery : Query<IEnumerable<User>> {
       public string Status;
}
Run Code Online (Sandbox Code Playgroud)

以及它的相应处理程序

interface IQueryHandler<TQuery, TResult> where TQuery : Query<TResult>
{ 
    TResult Handle(TQuery query);     
} 

class FindUserByStatusQueryHandler : IQueryHandler<FindUserByStatusQuery, IEnumerable<User>> 
{
               public IEnumerable<User> Handle(FindUsersByAcountStatusQuery query)
               {   
                   using (Entities db = new Entities()) …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework cqrs

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