有没有办法自动配置Automapper来扫描命名空间/程序集中的所有配置文件?我想要做的是从给定的程序集中过滤的给定程序集中将映射配置文件添加到AutoMapper,类似于StructureMap中的扫描约定:
public static void Configure()
{
ObjectFactory.Initialize(x =>
{
// Scan Assembly
x.Scan(
scanner =>
{
scanner.TheCallingAssembly();
scanner.Convention<MyCustomConvention>();
scanner.WithDefaultConventions();
});
// Add Registries
x.AddRegistry(new SomeRegistry());
});
Debug.WriteLine(ObjectFactory.WhatDoIHave());
}
public class MyCustomConvention : IRegistrationConvention
{
public void Process(Type type, Registry registry)
{
if (!type.CanBeCastTo(typeof(IMyType)))
{
return;
}
string name = type.Name.Replace("SomeRubishName", String.Empty);
registry.AddType(typeof(IMyType), type, name);
}
Run Code Online (Sandbox Code Playgroud)
我试过使用SelfConfigure但找不到任何关于如何使用它来过滤配置文件的文档:
public static void Configure()
{
Mapper.Initialize(x =>
{
// My Custom profile
x.AddProfile<MyMappingProfile>();
// Scan Assembly
x.SelfConfigure(Assembly.GetCallingAssembly());
});
}
Run Code Online (Sandbox Code Playgroud)
另一个问题是我如何报告已经初始化的所有地图/配置文件(类似于StructureMap中的ObjectFactory.WhatDoIHave())?
您是否知道添加一些代码的方法,在调试期间,以编程方式清除Visual Studio中的输出窗口?
或者你知道一些快速的选择,如关键捷径吗?
我读过这篇关于自定义报告项目(CRI)的文章
http://msdn.microsoft.com/en-us/magazine/cc188686.aspx
唯一的问题是CRI只能用于报告服务而不能用于本地报告.我的问题是如何在本地报告(RDLC)中使用CRI.此外,我感兴趣的是哪种版本的报告服务是可能的,如果可能的话,
最好的问候,Iordan
我正在尝试创建一个可放置在android主屏幕上的图标/小部件(1个单元格x 1单元格).该小部件的外观和行为与android中的其他标准快捷方式完全相同.它将有一个图标,在该标签下,它可以通过轨迹球(高亮显示)进行选择,它将在选择/点击时突出显示.
如何创建此主屏幕小部件?
我是否必须使用code/xml自己创建小部件,或者是否有一些标准的xml,样式,主题和代码可用于确保小部件与其他主屏幕小部件具有相同的样式/主题?
我目前有以下内容
RES /抽拉/ corners.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Corners">
<stroke android:width="4dp" android:color="#CC222222" />
<padding android:left="4dp" android:top="1dp" android:right="4dp" android:bottom="1dp" />
<corners android:radius="4dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
RES /布局/ widget.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Widget"
android:layout_width="72dip"
android:layout_height="72dip"
android:orientation="vertical"
android:focusable="true"
android:gravity="center_horizontal"
style="@android:style/Widget"
>
<ImageView
android:id="@+id/WidgetIcon"
android:src="@drawable/icon"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:paddingTop="3dip"
android:gravity="center"
/>
<TextView
android:id="@+id/WidgetLabel"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="@string/app_name"
android:textSize="15dip"
android:background="@drawable/corners"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
生成的窗口小部件看起来有些接近,但它不可选,单击时不会突出显示,并且标签不完全位于正确的位置或正确的样式.
任何想法,如果有正确的方法,或者我应该继续努力,直到我更接近?
通过使用java反射,我们可以很容易地知道对象是否是一个数组.什么是判断对象是否是集合的最简单方法(Set,List,Map,Vector ...)?
我正在使用 Hibernate Search(它使用 Lucene)来搜索我在目录中编入索引的一些数据。它工作正常,但我需要进行反向搜索。通过反向搜索,我的意思是我的数据库中存储了一个查询列表,每次创建数据对象时,我都需要检查这些查询中的哪一个与数据对象匹配。当数据对象与他创建的查询匹配时,我需要它来提醒用户。所以我需要索引这个刚刚创建的单个数据对象,并查看我的列表中的哪些查询有这个对象。
我已经看到 Lucene MemoryIndex Class 在内存中创建索引,所以我可以对列表中的每个查询执行类似这个示例的操作(尽管在 Java 查询列表中迭代不会非常有效):
//Iterating over my list<Query>
MemoryIndex index = new MemoryIndex();
//Add all fields
index.addField("myField", "myFieldData", analyzer);
...
QueryParser parser = new QueryParser("myField", analyzer);
float score = index.search(query);
if (score > 0.0f) {
System.out.println("it's a match");
} else {
System.out.println("no match found");
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是这个数据类有几个 Hibernate Search Annotations @Field,@IndexedEmbedded,... 指示字段应该如何被索引,所以当我在 FullTextEntityManager 实例上调用 index() 方法时,它使用这个信息来索引对象在目录中。是否有类似的方法可以使用此信息在内存中对其进行索引?
有没有更有效的方法来进行这种反向搜索?
我在下面的代码中添加了解决方案.
底部的代码就是我所拥有的.我删除了所有标签的创建.
在我得到的xml文件的顶部.<?xml version="1.0" encoding="UTF-8" standalone="no"?>注意,独立是没有的,即使你把它设置为是.
第一个问题:我如何获得独立=是?
我想<?xml-stylesheet type="text/xsl" href="my.stylesheet.xsl"?>在xml文件的第二行添加.
第二个问题:我该怎么做?
一些有用的链接?什么?
DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbfac.newDocumentBuilder();
Document doc = docBuilder.newDocument();
doc.setXmlStandalone(true);
ProcessingInstruction pi = doc.createProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"my.stylesheet.xsl\"");
Element root = doc.createElement("root-element");
doc.appendChild(root);
doc.insertBefore(pi, root);
<cut>
TransformerFactory transfac = TransformerFactory.newInstance();
transfac.setAttribute("indent-number", new Integer(2));
Transformer trans = transfac.newTransformer();
trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
trans.setOutputProperty(OutputKeys.STANDALONE, "yes");
trans.setOutputProperty(OutputKeys.INDENT, "yes");
trans.setOutputProperty(OutputKeys.CDATA_SECTION_ELEMENTS, "name");
FileOutputStream fout = new FileOutputStream(filepath);
BufferedOutputStream bout= new BufferedOutputStream(fout);
trans.transform(new DOMSource(doc), new StreamResult(new OutputStreamWriter(bout, "utf-8")));
Run Code Online (Sandbox Code Playgroud) Scott Hanselman关于新VS 2010功能的最新博客文章提到了"新的<%:%>编码语法".它有什么作用?用谷歌搜索这些标签似乎不可能......
谢谢,
阿德里安
您好我的数据库中有3列,is_contract,is_permenant和is_temporary.在这些列中,有Y或N值.
我正在使用这些列回显到页面上有人正在寻找什么样的工作,我的问题是用户可以查找多种类型的工作,我目前正在运行3 if语句以确定要回应的内容页面,但是我很难添加一个逗号,如果多个statemnts返回为true,下面是我的代码到目前为止,
<?php
if($rslt['is_contract'] == 'Y') {
echo "Contract ";
}
if($rslt['is_permanent'] == 'Y') {
echo "Permanent ";
}
if($rslt['is_temporary'] == 'Y') {
echo "Temporary";
}
?>
Run Code Online (Sandbox Code Playgroud) 我有一个问题,在这里几乎被问到:
asp.net mvc Html.ActionLink()保留我不想要的路由值
然而,最终的解决方案是一个纯粹而简单的kludge,我真的很想知道为什么会发生这种情况,如果有人可以向我解释一下呢?
为了完整起见,可以非常轻松地重新创建场景:
请注意,现在关于About的顶级菜单链接实际上链接到/ Home/About/Flib - 据我所知这是错误的,因为我现在绝对没有办法使用站点链接回到/ Home/About
我真的不明白为什么我应该被迫修改我的所有Html.ActionLinks以包含new { id = string.Empty }routevalues和null为htmlAttribs.这似乎特别糟糕,因为我已经指定id = 0了路线本身的一部分.
希望我在这里错过了一个技巧.
java ×3
asp.net-mvc ×2
.net ×1
android ×1
asp.net ×1
automapper ×1
c# ×1
conditional ×1
debugging ×1
hibernate ×1
lucene ×1
php ×1
profile ×1
rdlc ×1
report ×1
structuremap ×1
xml ×1
xslt ×1