如何使用Windsor容器将appSettings条目(从app.config或web.config)的值注入服务?如果我想将一个Windsor属性的值注入服务中,我会做这样的事情:
<properties>
<importantIntegerProperty>666</importantIntegerProperty>
</properties>
<component
id="myComponent"
service="MyApp.IService, MyApp"
type="MyApp.Service, MyApp"
>
<parameters>
<importantInteger>#{importantIntegerProperty}</importantInteger>
</parameters>
</component>
Run Code Online (Sandbox Code Playgroud)
但是,我真正想做的是#{importantIntegerProperty}从应用程序设置变量中获取值,该变量可能是这样定义的:
<appSettings>
<add key="importantInteger" value="666"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)
编辑:澄清; 我意识到,温莎和David Hayden的文章指出,滑盖式枪口指的是实际上是关于他自己的(David Hayden的)IoC容器,而不是温莎.
我肯定不是第一个遇到这个问题的人,所以我想知道的是其他人如何解决这个问题?
监视文件夹以查看何时添加图像文件的最佳方法是什么?文件大约每分钟添加一次,命名如下:image0001.jpg,image0002.jpg,image0003.jpg等我需要知道文件何时被写入文件夹,以便我的应用程序可以访问和使用它.
我有一个可以为空的int类?数据类型设置为序列化为xml元素.有没有办法设置它,所以如果值为null,xml序列化程序将不会序列化该元素?
我试图添加[System.Xml.Serialization.XmlElement(IsNullable = false)]属性,但我得到一个运行时序列化异常,说有一个反映类型的错误,因为"IsNullable可能不会设置为'false '对于Nullable类型.考虑使用'System.Int32'类型或从XmlElement属性中删除IsNullable属性."
[Serializable]
[System.Xml.Serialization.XmlRoot("Score", Namespace = "http://mycomp.com/test/score/v1")]
public class Score
{
private int? iID_m;
...
/// <summary>
///
/// </summary>
public int? ID
{
get
{
return iID_m;
}
set
{
iID_m = value;
}
}
...
}
Run Code Online (Sandbox Code Playgroud)
上面的类将序列化为:
<Score xmlns="http://mycomp.com/test/score/v1">
<ID xsi:nil="true" />
</Score>
Run Code Online (Sandbox Code Playgroud)
但对于null的ID,我根本不需要ID元素,主要是因为当我在MSSQL中使用OPENXML时,对于看起来像的元素,它返回0而不是null
假设我有以下两个包含正则表达式的字符串.我如何合并它们?更具体地说,我希望将这两个表达式作为替代.
$a = '# /[a-z] #i';
$b = '/ Moo /x';
$c = preg_magic_coalesce('|', $a, $b);
// Desired result should be equivalent to:
// '/ \/[a-zA-Z] |Moo/'
Run Code Online (Sandbox Code Playgroud)
当然,这样做作为字符串操作是不实际的,因为它涉及解析表达式,构造语法树,合并树然后输出相当于树的另一个正则表达式.没有这最后一步,我真的很开心.不幸的是,PHP没有RegExp类(或者是吗?).
有没有办法实现这个目标?顺便说一句,是否有其他语言提供方式?这不是一个很正常的场景吗?可能不会.:-(
或者,是否有一种方法可以有效地检查两个表达式中的任何一个是否匹配,哪一个匹配更早(如果它们在同一位置匹配,哪个匹配更长)?这就是我现在正在做的事情.不幸的是,我经常在长字符串上执行此操作,对于两种以上的模式.结果很慢(是的,这肯定是瓶颈).
我应该更具体 - 抱歉.$a并且$b是变量,它们的内容超出了我的控制范围!否则,我会手动合并它们.因此,我不能对使用的分隔符或正则表达式修饰符做任何假设.请注意,例如,我的第一个表达式使用i修饰符(忽略大小写),而第二个表达式使用x(扩展语法).因此,我不能只将两者连接起来,因为第二表达并不能忽视壳体和第一不使用扩展语法(和任何空白在其中是显著!
我今天设置了所有证书和密钥,并试图在我的iPhone上运行我的项目.我遇到了这个奇怪的错误:
您的移动设备在安装阶段遇到意外错误(0xE800003A):验证应用程序
围绕Apple Developer论坛,我试图设置新的证书和配置文件以及编辑Info.plist,但无论我做什么,我似乎无法在我的设备上运行应用程序.
我现在唯一能想到的是,我在Xcode中的项目名称与我的开发配置文件略有不同(它使用了问号),但我根据Apple的惯例命名它:com.mycompany.myapp所以我不确定这是不是问题.
有任何想法吗?
编辑:我很难重启手机,重新启动Xcode,清除目标,设置新的通配符应用程序ID和相应的配置文件,但仍然没有.还有其他想法吗?
我没有看到它的Visual Studio插件(虽然我看起来并不那么难,所以我可能已经错过了它),并且搜索会出现随机的第三方解决方案,但有些东西是随PowerShell一起提供的插入Visual Studio?
我正在寻找一种方法来向.NET ToolTip对象添加一个类似于NotifyIcon的关闭按钮.我正在使用工具提示作为使用Show()方法以编程方式调用的消息气球.这工作正常,但没有onclick事件或关闭工具提示的简单方法.你必须在代码中的其他地方调用Hide()方法,我宁愿让工具提示能够自行关闭.我知道网络周围有几个气球工具提示使用管理和非托管代码来执行Windows API,但我宁愿留在我舒适的.NET世界中.我有一个第三方应用程序调用我的.NET应用程序,它在尝试显示非托管工具提示时崩溃.
所以我现在所拥有的是这样的:
PropertyInfo[] info = obj.GetType().GetProperties(BindingFlags.Public);
Run Code Online (Sandbox Code Playgroud)
obj某个对象在哪里.
问题是我想要的一些属性不在于obj.GetType()它们在其中一个基类中.如果我停止调试器并查看obj,我必须挖掘一些"基础"条目以查看我想要获得的属性.是否有一些绑定标志我可以设置让它返回那些或我是否必须递归挖掘Type.BaseType层次结构并对GetProperties所有这些做?
最近我一直在使用XPathDocument和XNavigator来解析给定XPath和属性的XML文件.当我事先知道XPath是什么时,它工作得非常好.
有时候,XPath将是几个可能的XPath值之一,我希望能够测试给定的XPath是否存在.
如果我的命名法错了,这就是我所谓的XPath - 给定这个XML blob:
<foo>
<bar baz="This is the value of the attribute named baz">
</foo>
Run Code Online (Sandbox Code Playgroud)
我可能正在寻找我称之为"// foo/bar"的XPath,然后读取属性"baz"来获取值.
我用来执行此操作的代码示例:
XPathDocument document = new XPathDocument(filename);
XPathNavigator navigator = document.CreateNavigator();
XPathNavigator node = navigator.SelectSingleNode("//foo/bar");
if(node.HasAttributes)
{
Console.WriteLine(node.GetAttribute("baz", string.Empty));
}
Run Code Online (Sandbox Code Playgroud)
现在,如果对navigator.SelectSingleNode的调用失败,它将返回NullReferenceException或XPathException.我可以捕获这两个并重构上面的测试,以查看给定的XPath是否返回异常,但我想知道是否有更好的方法?
我没有在Intellisense中看到任何明显的东西.XPathNavigator有.HasAttributes和.HasChildren但是没有一次遍历一个节点的路径,我没有看到任何更好的使用.
c# ×4
.net ×2
xml ×2
app-id ×1
appsettings ×1
c++ ×1
iphone ×1
java ×1
javascript ×1
php ×1
powershell ×1
reflection ×1
regex ×1
tooltip ×1
visual-c++ ×1
winforms ×1
xcode ×1