我有一个内部构造函数的类,想要从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或者什么?
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'手动指定部件?
是否有任何在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世界中没有必要这样做?
我们有一个包含~200个表的数据库模式.为每次迁移创建的模型快照(Migration.Designer.cs)是~20K行.因此,进行大量迁移确实会降低我们对CI的构建速度(构建解决方案的约30次迁移需要6分钟进行迁移,或者4分钟不进行迁移).
那么,问题是:删除旧迁移的模型快照是否安全(我们知道我们永远不会恢复)?模型快照是否用于除Revert-Migration之外的任何其他内容?
我的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#中有以下功能:
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)
还有其他可能吗?我的解决方案是否完全出错?
我已经通过指定读取了关于验证错误的本地化的答案DefaultModelBinder.ResourceClassKey,基本上是在int字段中输入字符串值时,或者在datetime字段中输入日期时间.
但是当我输入一个int字段的"111111111111111111111111111111"时,我得到System.OverflowException它看起来像"The value '{0}' is invalid.".
有没有办法以类似于其他MVC验证的方式本地化(将该消息转换为其他语言)验证错误?
是否可以将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?
我有如下类型:
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; }
?
c# ×6
asp.net ×1
asp.net-mvc ×1
dbcontext ×1
generics ×1
ios ×1
localdb ×1
localization ×1
mvvm ×1
nhibernate ×1
objective-c ×1
odata ×1
razor ×1
syntax ×1
typescript ×1
validation ×1
wcf-web-api ×1