我已经通过NuGet将AutoMapper 3.1.0-ci1027安装到MVC5网站上.我用Owain Wraggs的博客作为我的向导来帮助我.
我的配置文件如下所示:
public static class AutoMapperConfig
{
public static void Initialize()
{
Mapper.Initialize(x =>
{
x.AddProfile<DomainToViewModelMappers>();
x.AddProfile<ViewModelToDomainMappers>();
});
}
}
Run Code Online (Sandbox Code Playgroud)
我从Global.asax.cs.Application_Start()中调用Initialize()方法:
AutoMapperConfig.Initialize();
Run Code Online (Sandbox Code Playgroud)
但是,当我运行应用程序时,它崩溃在Mapper.Initialize().即使我没有包含任何代码,也会发生这种情况.如果我评论这一行,代码运行正常,但当然,我没有使用AutoMapper来连接我的对象.
我看到的错误如下:
[PlatformNotSupportedException:此平台不支持此类型IDictionaryFactory]
AutoMapper.Internal.PlatformAdapter.Resolve(Boolean throwIfNotFound)+320 AutoMapper.TypeMapFactory..cctor()+46[TypeInitializationException:'AutoMapper.TypeMapFactory'的类型初始值设定项引发异常.]
AutoMapper.TypeMapFactory..ctor()+ 0
AutoMapper.Mapper.<.cctor> b__0()+55
AutoMapper.Internal.LazyImpl 1 action)+51 c:\ Projects\AIMS\AIMS\ Mappers\AutoMapperConfig.cs中的AIMS.Mappers.AutoMapperConfig.Initialize():C:\ Projects\AIMS\AIMS\Global.asax.cs中的AIMS.MvcApplication.Application_Start():251.get_Value() +79
AutoMapper.Mapper.get_ConfigurationProvider() +34
AutoMapper.Mapper.get_Configuration() +28
AutoMapper.Mapper.Initialize(Action[HttpException(0x80004005):'AutoMapper.TypeMapFactory'的类型初始值设定项引发异常.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context,HttpApplication app)+9936841
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext,HttpContext context, MethodInfo [] handlers)+118
System.Web.HttpApplication.InitSpecial(HttpApplicationState state,MethodInfo [] handlers,IntPtr appContext,HttpContext context)+172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext,HttpContext context)+336
System.Web .Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)+296[HttpException(0x80004005):'AutoMapper.TypeMapFactory'的类型初始值设定项引发异常.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+9915380 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)+101 System.Web. HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest …
我目前正在尝试学习Angular 2,打字稿,承诺等.我为开发人员工具和只返回硬编码数据的服务设置了一个小应用程序.这仅用于测试目的.
我想在服务方法上添加短暂超时来模拟服务器滞后以测试我的一些控件,但是我找不到正确的语法来执行此操作.如何为服务电话添加5秒延迟?
开发者工具服务
@Injectable()
export class DeveloperService {
getExampleData(): Promise<ExampleItem[]> {
const examples: ExampleItem[] = [];
examples.push({ id: 1, name: 'Spaceman Spiff', location: 'Outer Space', age: 12 });
examples.push({ id: 2, name: 'Stupendous Man', location: 'The City', age: 30.5 });
examples.push({ id: 3, name: 'Tracer Bullet', location: 'The City', age: 24 });
examples.push({ id: 4, name: 'Napalm Man', location: 'War Zone', age: 43.333 });
examples.push({ id: 5, name: 'Adult Calvin', location: 'In the future', age: 54 });
// TODO: …
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个递归例程,它将为指定对象下的所有成员检索PropertyInfos(在.NET 3.5中).直接成员的所有东西都在工作,但它也需要解析嵌套类(以及它们的嵌套类等).
我不明白如何处理解析嵌套类的部分.你会如何写这部分代码?
public class ObjectWalkerEntity
{
public object Value { get; set; }
public PropertyInfo PropertyInfo { get; set; }
}
public static class ObjectWalker
{
// This will be the returned object
static List<ObjectWalkerEntity> objectList = new List<ObjectWalkerEntity>();
public static List<ObjectWalkerEntity> Walk(object o)
{
objectList.Clear();
processObject(o);
return objectList;
}
private static void processObject(object o)
{
if (o == null)
{
return;
}
Type t = o.GetType();
foreach (PropertyInfo pi in t.GetProperties())
{
if (isGeneric(pi.PropertyType))
{
// Add generic …
Run Code Online (Sandbox Code Playgroud) 我定义了许多对象,每个对象都有一个名为"CreateDate"的属性.
是否可以编写单个通用方法从我指定的对象中选择最高日期?
我试图使用通用方法,但当我尝试指定属性名称时,编译器不喜欢它.
我试图在这些方面取得成就......
private static DateTime GetLastDate<T>(List<T> data)
{
// Unfortunately, this is not allowed...
return
(from d in data
orderby d.CreateDate
select d.CreateDate).FirstOrDefault();
}
Run Code Online (Sandbox Code Playgroud) 我正在使用bootstrap 3.0.0创建一个MVC 5站点.我很难将模型绑定到输入字段.我根本不知道这样做的语法.
以下代码在功能上有效,但我失去了bootstrap的样式.
<div class="control-group">
@Html.LabelFor(model => model.Name, new { @class = "control-label" })
<div class="controls">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
另一方面,这段代码看起来很棒,但我无法使绑定工作.@using(Html.BeginForm()){
<div class="input-group">
<span class="input-group-addon">@Html.LabelFor(model => model.Name)</span>
<input type="text" class="form-control" placeholder="Enter your name here..."/>
<span class="input-group-addon">@Html.ValidationMessageFor(model => model.Name)</span>
</div>
<div class="form-actions no-color">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</fieldset>
}
Run Code Online (Sandbox Code Playgroud)
所以我需要一些帮助才能使顶部块或底部块工作.正确的语法使其在功能上工作,或者在引导程序中附加到正确的CSS以使其看起来具有吸引力的光滑方法.
欢迎任何建议.
我有很多存储在列表中的类.我正在尝试创建一个接受List作为泛型类型的方法,并将相应列表中的每个元素的内容作为字符串返回.
这是许多课程中的一个的样本.这将被定义为List <Player>:
public class Player
{
public int PlayerId { get; set; }
public string PlayerName { get; set; }
public string FavoriteThing { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我仍然在努力让语法正确:
public static string GetStringOfData<T>(List<T> data)
{
string dataString = string.Empty;
var type = data.GetType();
// Insert magic here to get values for PlayerId, PlayerName, etc...
return dataString;
}
Run Code Online (Sandbox Code Playgroud)
我们怎样才能实现这一目标?我正在使用C#4.0.
更新 我正在使用的类是从edmx模型生成的,连接到数据库.这是一个报告工具,它将解析各种表并通过电子邮件向用户报告错误.用户特别要求能够查看所有字段的内容.
c# ×4
c#-4.0 ×2
list ×2
.net-3.5 ×1
angular ×1
asp.net-mvc ×1
automapper ×1
binding ×1
generic-list ×1
generics ×1
html-input ×1
parsing ×1
promise ×1
recursion ×1
reflection ×1
settimeout ×1
timeout ×1
typescript ×1