小编Sha*_*dix的帖子

UnityContainer和内部构造函数

我有一个内部构造函数的类,想要从Unity(2.0)解析它.

public class MyClass {
    internal MyClass(IService service) {
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我在做

_container.Resolve<MyClass>();
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我有一个例外

Exception is: InvalidOperationException - The type MyClass cannot be constructed. 
Run Code Online (Sandbox Code Playgroud)

IService已注册,唯一的问题是构造函数是内部的.我真的希望这个类是公开的,但是我希望它只能通过工厂(我实际上在调用它container.Resolve<MyClass>())中创建.

有没有办法让Unity看到内部构造函数?像InternalsVisibleTo或者什么?

c# internalsvisibleto ioc-container unity-container

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

c#客户端使用linq支持使用OData

ASP.NET MVC4 Beta引入了一种使用WebAPI创建OData端点的简便方法.

所以有以下控制器:

public class ValuesController : ApiController
{
    // GET /api/values
    public IQueryable<Document> Get()
    {
        return (new[] { 
            new Document() { Info = "a", Title = "qwe1" }, 
            new Document() { Info = "b", Title = "qwe2" }, }).AsQueryable();
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以使用url来查询数据:http:// localhost:44087/api/values?$ filter = Title eq'qwe1'

是否有适当的.net库可以使用它?所以我可以这样做:

new WebApiClient("http://localhost:44087/api/values")
                    .Get<Document>().Where(x=>x.Title == "qwe1").ToList()
Run Code Online (Sandbox Code Playgroud)

没有$filter=Title eq 'qwe1'手动指定部件?

c# odata wcf-web-api asp.net-mvc-4

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

iOS上的objective-c是否有类似MVVM的框架?

是否有任何在iOS(iPhone/iPad)上广泛使用的Objective-C MVVM框架?

我是一个刚刚开始使用iOS的.net开发人员(阅读教程,完成了几个简单的测试应用程序),从第一个角度看,iOS的MVC看起来就像WinForms一样(如果我错了,请纠正我).WinForms使用MVVM"演变"为WPF,使Separation of Concerns更容易.

是否有类似于iOS的MVVM?在MonoTouch世界中,我至少看到了应用MVVM的mvvmcross.Objective-C怎么样?或者通常在iOS世界中没有必要这样做?

model-view-controller objective-c mvvm ios

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

实体框架核心:如果我们永远不会恢复迁移,删除Migration.Designer.cs是否安全?

我们有一个包含~200个表的数据库模式.为每次迁移创建的模型快照(Migration.Designer.cs)是~20K行.因此,进行大量迁移确实会降低我们对CI的构建速度(构建解决方案的约30次迁移需要6分钟进行迁移,或者4分钟不进行迁移).

那么,问题是:删除旧迁移的模型快照是否安全(我们知道我们永远不会恢复)?模型快照是否用于除Revert-Migration之外的任何其他内容?

c# ef-migrations entity-framework-core

7
推荐指数
3
解决办法
1190
查看次数

如何为自定义对象调用Html.Display,而不是整个模型?

我的MVC3 Razor视图有以下视图模型:

 public class UserProfileModel
 {
     public Person[] Persons { get; set; }
     //some other fields
 }
Run Code Online (Sandbox Code Playgroud)

我想在Razor视图中显示所有人:

foreach (var person in Model.Persons)
{
<div>
    @* some custom formatting *@
    @Html.Display(person)
</div>
}
Run Code Online (Sandbox Code Playgroud)

@Html.Display@Html.DisplayFor似乎不适合我..

我可以使用Person模型创建一个单独的stongly类型视图并@Html.DisplayForModel在那里调用,但有没有办法在没有单独的视图的情况下去?

c# asp.net-mvc razor asp.net-mvc-3

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

用于双通用函数的语法糖

我在c#中有以下功能:

bool Handle<TCommandHandler, TModel>(TModel model) where TCommandHandler : ICommandHandler<TModel> {
    // ...
    _container.Resolve<TCommandHandler>();
    // ...
}
Run Code Online (Sandbox Code Playgroud)

由于TModel是从功能参数明确我想一些方法调用函数时不指定其类型.理想情况下,我想称之为:

Handle<MyCommandHandler>(model);
Run Code Online (Sandbox Code Playgroud)

由于这可能是不可能的,我想出了以下内容:

HandleTemp<TModel> Handle<TModel>(TModel model) {
    return new HandleTemp<TModel>(model);
}

public class HandleTemp<TModel> {
    private TModel _model;
    public HandleTemp(TModel model) { _model = model;}

    public bool With<TCommandHandler>() where TCommandHandler : ICommandHandler<TModel> {
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我现在称之为:

Handle(model).With<MyCommandHandler>();
Run Code Online (Sandbox Code Playgroud)

还有其他可能吗?我的解决方案是否完全出错?

c# generics syntax

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

在int溢出的情况下,"值{0}的本地化无效"

我已经通过指定读取了关于验证错误的本地化的答案DefaultModelBinder.ResourceClassKey,基本上是在int字段中输入字符串值时,或者在datetime字段中输入日期时间.

但是当我输入一个int字段的"111111111111111111111111111111"时,我得到System.OverflowException它看起来像"The value '{0}' is invalid.".

有没有办法以类似于其他MVC验证的方式本地化(将该消息转换为其他语言)验证错误?

asp.net validation localization asp.net-mvc-3

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

nHibernate和SQL Server 2012 LocalDB

是否可以将LocalDB数据库与NHibernate一起使用?如果是,应该安装/配置什么?

当前尝试使用连接字符串,如数据源=(LocalDb)\ v11.0;初始目录= tst1;集成安全性= SSPI创建SessionFactory时我得到

System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)----> System.ComponentModel.Win32Exception:找不到网络路径

但是,我可以通过SQL Server对象资源管理器连接到(LocalDb)\ v11.0,并且实体框架可以使用该连接字符串.那么,我在NH上做错了什么,或者目前无法使用带有NH的LocalDB?

nhibernate sql-server-2012 localdb

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

Typescript:从多个相同类型的可区分联合中摘录

我有如下类型:

type Entity =
  | {
      type: 'user' | 'person';
      id: string;
    }
  | {
      type: 'animal';
      id: number;
    };
Run Code Online (Sandbox Code Playgroud)

现在我想从中提取类型:

type Animal = Extract<Entity, {type: 'animal'}>- 完美运行(返回{ type: 'animal'; id: number; });

type User = Extract<Entity, {type: 'user'}>- 返回never

我怎样才能让它返回{ type: 'user'; id: string; }

typescript

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

是否在ObjectContext中没有DbContext函数?

Microsoft有一篇介绍DbContext功能的介绍文章.

其中一些,比如我在ObjectContext中没有看到的过滤相关实体.

这个功能对于DbContext来说真的是新功能而在ObjectContext中不可用吗?其他"新"功能是什么?或者DbContext只是与ObjectContext具有相同功能的简化API?

c# entity-framework objectcontext dbcontext

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