我在我的DI中使用StructureMap.想象一下,我有一个类需要1个参数:
public class ProductProvider : IProductProvider
{
public ProductProvider(string connectionString)
{
....
}
}
Run Code Online (Sandbox Code Playgroud)
当我得到IProductProvider的实例时,我需要在运行时指定"connectionString" .
我已经按如下方式配置了StructureMap:
ForRequestedType<IProductProvider>.TheDefault.Is.OfConcreteType<ProductProvider>().
WithCtorArgument("connectionString");
Run Code Online (Sandbox Code Playgroud)
但是,我不想在这里调用EqualTo("something ......")方法,因为我需要一些工具来在运行时动态指定此值.
我的问题是:如何通过使用ObjectFactory获取IProductProvider的实例?
目前,我有类似的东西:
ObjectFactory.GetInstance<IProductProvider>();
Run Code Online (Sandbox Code Playgroud)
但是如你所知,这不起作用......
任何建议将不胜感激.
我已经能够注册我自己的机器端口以捕获我的应用程序中的机器异常,并且当我以32位为目标时它可以很好地工作.但是,当我以64位为目标时,我的异常处理程序catch_exception_raise()被调用,但传递给处理程序的异常代码数组是32位宽.预计这是32位版本,但不是64位版本.
在我捕获EXC_BAD_ACCESS第一个代码的情况下是错误号,第二个代码应该是错误的地址.由于第二个代码是32位宽,因此64位错误地址的高32位被截断.
我发现了一个标志<mach/exception_types.h>,我可以在通task_set_exception_ports()称为MACH_EXCEPTION_CODES从看达尔文源似乎控制传递给处理程序代码的大小.它似乎意味着要传递给传入的行为task_set_exception_ports().
但是,当我执行此操作并触发异常时,我的机器端口会收到通知,我调用exc_server()但我的处理程序永远不会被调用,并且当回复消息被发送回内核时,我得到默认的异常行为.
我的目标是10.6 SDK.
我真的希望苹果能更好地记录这些东西.有人有主意吗?
我的申请被交给一个NSString包含unsigned int.NSString没有[myString unsignedIntegerValue];方法.我希望能够从字符串中取出值而不将其修改,然后将其置于一个NSNumber.我试着这样做:
NSString *myUnsignedIntString = [self someMethodReturningAString];
NSInteger myInteger = [myUnsignedIntString integerValue];
NSNumber *myNSNumber = [NSNumber numberWithInteger:myInteger];
// ...put |myNumber| in an NSDictionary, time passes, pull it out later on...
unsigned int myUnsignedInt = [myNSNumber unsignedIntValue];
Run Code Online (Sandbox Code Playgroud)
上面有可能"切断"大片的结尾,unsigned int因为我必须把它转换成NSInteger第一个吗?或者看起来好用吗?如果它会切断它的结尾,那么下面的内容(我认为有点像kludge)?
NSString *myUnsignedIntString = [self someMethodReturningAString];
long long myLongLong = [myUnsignedIntString longLongValue];
NSNumber *myNSNumber = [NSNumber numberWithLongLong:myLongLong];
// ...put |myNumber| in an NSDictionary, time passes, pull it out later on... …Run Code Online (Sandbox Code Playgroud) Oracle最近向SQLite发布了Berkeley DB后端.我碰巧有一个数百兆字节的SQLite数据库,可以从"改进的性能,并发性,可伸缩性和可靠性"中获益,但Oracle的网站似乎缺乏对这些改进的任何测量.有没有人在这里做过一些基准测试?
是否有任何方式告诉istream继续前进,直到它击中\n而不是正常的空白区域,并且不使用getline并在流中保留任何格式选项?
谢谢.
我想让游戏中的角色执行部分随机但也受首选项影响的动作.例如,如果一个角色感到愤怒,他们就会比说笑话更有可能大喊大叫.所以我正在考虑如何确定角色将采取的行动.以下是我的想法.
解决方案#1:迭代所有可能的操作.对于每个操作执行随机滚动,然后将首选项值添加到该随机数.具有最高值的动作是角色所采用的动作.
解决方案#2:为一个动作分配一系列数字,更可能的动作范围更广.因此,如果随机滚动从1-5返回,该角色将讲述一个笑话.如果它返回6-75,他们会大叫.等等.
解决方案#3:对所有操作进行分组并创建分支树.他们会采取友好行动还是敌对行动?随机滚动(添加了偏好值)表示敌意.他们会进行身体攻击还是言语?随机翻卷说话.继续行,直到你到达行动.
解决方案#1是最简单的,但效率不高.我认为解决方案#3有点复杂,但效率不高吗?
有没有人对此特定问题有任何了解?#3是最好的解决方案吗?有更好的解决方案吗?
你会如何在JavaScript中对多维数组进行排序?
我有一个包含两个日期和一个字符串的数组.我需要按其中一个日期数组排序的主数组,这可能吗?
数据结构:
events = [
{ date 1, date 2, string },
{ date 2, date 2, string },
]
Run Code Online (Sandbox Code Playgroud) 我喜欢在postgres 8.4.3中查找(并删除)所有者拥有的所有数据库.我也是postgres的新手,虽然我今天可以阅读整本手册但我会被迫使用
for i in $(psql -l |grep novicedba | awk '{print $1}')
psql -d postgres -c " drop database \"$i\""
Run Code Online (Sandbox Code Playgroud)
出于绝望.postgresql的方法是什么?
我多年来一直是Linux Java开发人员并且喜欢它.我刚买了一台运行Windows 7的新笔记本电脑.我可以擦除驱动器并回到我典型的Linux开发设置:vim进行编辑,选项卡运行javac的bash窗口和用于小项目的java,用于大项目的ant
也就是说,我真的认为学习在新环境中发展不会有什么坏处.那么,考虑到这一点,是否有任何基于Windows的Java开发人员?您希望用什么设置来完成工作?听到两种方式来模仿我的基于Linux的环境以及完全不同的样式,我可能会感兴趣.
arrays ×1
benchmarking ×1
berkeley-db ×1
c++ ×1
cocoa ×1
constructor ×1
darwin ×1
istream ×1
java ×1
javascript ×1
macos ×1
newline ×1
nsstring ×1
objective-c ×1
postgresql ×1
preferences ×1
ruby ×1
sqlite ×1
structuremap ×1
unsigned ×1
windows ×1