我有一个类,它在构造函数中接受一组接口:
public class Foo<T1, T2> : IFoo<T1, T2>
{
public Foo(IBar[] bars)
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
我的容器注册如下:
container.Register(AllTypes.Pick().FromAssemblyNamed("...")
.WithService.FirstInterface());
container.AddComponent("foo", typeof(IFoo<,>), typeof(Foo<,>));
Run Code Online (Sandbox Code Playgroud)
我有几个IBar的实现,容器可以定义它们,因为调用ServiceLocator.Current.GetAllInstances<IBar>()工作正常.
但是,如果我试图获得一个IFoo的实例,它会抛出一个异常,说它无法满足deoendency ..."哪个没有注册".
如果我改变构造函数以获取IBar的单个实例,它可以正常工作.
有任何想法吗?
在PHP中,有没有办法清除/删除所有以前回显或打印的项目?
例如:
<?php
echo 'a';
print 'b';
// some statement that removes all printed/echoed items
echo 'c';
// the final output should be equal to 'c', not 'abc'
?>
Run Code Online (Sandbox Code Playgroud)
我的脚本使用include函数.包含的文件不应该回应任何东西.为了防止有人(ex = hacker)尝试,我需要一种方法来删除.
在2005年11月1日的C++专栏中,Herb Sutter写道......
int A[17];
int* endA = A + 17;
for( int* ptr = A; ptr < endA; ptr += 5 )
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
[O]在某些CPU架构(包括当前的架构)中,上述代码可能导致硬件陷阱发生在创建三个结束指针的位置,无论该指针是否被解除引用.
如何在bitpattern上捕获CPU?关于什么 ...
int A[17];
// (i) hardware will trap this ?
int *pUgly = A + 18;
// (ii) hardware will trap this, too?
int *pEnd = A + 17;
++pEnd;
// (iii) will this fool it?
int *precious = A + 17;
unsigned long tricksy = reinterpret_cast<unsigned long>(precious) ;
++tricksy; …Run Code Online (Sandbox Code Playgroud) 我使用BIRT IDE创建了一个rptdesign文件.这个文件内容是Arial字体,当我在Windows中将报表导出为PDF时,它工作正常.
我使用默认的viewerServlet来创建报告.但是当我将报告移动到linux系统时,报告中的所有内容都以Times New Roman字体显示,而不是在PDF文件中显示为Arial.
然后我将Arial.ttf文件复制到/ var/font/truetype并将以下行添加到platform/plugins/org.eclipse.birt.report.engine.fonts_2.3.2.r232_20090202/fontsConfig.xml
<font-paths>
---------------
---------------
---------------
<path path="/var/font/truetype" />
</font-paths>
Run Code Online (Sandbox Code Playgroud)
添加此行后,所有内容都以Arial字体显示,但粗体内容似乎压缩并且看起来非常难看.
有没有人遇到这个问题并有任何解决方案?
谢谢你,阿伦
根据MSDN on DateTime.ToString ToString("s")应始终以可排序的XML Schema样式格式的格式返回字符串,例如:2008-10-01T17:04:32.0000000
在Reflector中,我在DateTimeFormatInfo中找到了这个模式.
public string SortableDateTimePattern
{
get
{
return "yyyy'-'MM'-'dd'T'HH':'mm':'ss";
}
}
Run Code Online (Sandbox Code Playgroud)
DateTime.ToString("s")是否始终返回此格式的字符串?
无论文化,地区,......
是的,它
代码测试
var dateTime = DateTime.Now;
var originialString = dateTime.ToString("s");
string testString;
foreach (var c in System.Globalization.CultureInfo.GetCultures(CultureTypes.AllCultures))
{
Thread.CurrentThread.CurrentUICulture = c;
if (c.IsNeutralCulture == false)
{
Thread.CurrentThread.CurrentCulture = c;
}
testString = dateTime.ToString("s");
Console.WriteLine("{0} ", testString);
if (originialString != testString)
{
throw new ApplicationException(string.Format("ToString(s) is returning something different for {0} " , c));
}
}
Run Code Online (Sandbox Code Playgroud) 我想比较两个日期和时间,我想要所有的结果 from tbl where date1 > date2
Select * From temp where mydate > '2009-06-29 04:00:44';
Run Code Online (Sandbox Code Playgroud)
但它只是比较日期而不是时间.它给了我今天日期的所有结果集
'2009-06-29 11:08:57'
'2009-06-29 11:14:35'
'2009-06-29 11:12:38'
'2009-06-29 11:37:48'
'2009-06-29 11:52:17'
'2009-06-29 12:12:50'
'2009-06-29 12:13:38'
'2009-06-29 12:19:24'
'2009-06-29 12:27:25'
'2009-06-29 12:28:49'
'2009-06-29 12:35:54'
'2009-06-29 12:36:54'
'2009-06-29 12:49:57'
'2009-06-29 12:58:04'
'2009-06-29 04:13:20'
'2009-06-29 04:56:19'
'2009-06-29 05:00:23'
'2009-06-29 05:04:26'
'2009-06-29 05:08:17'
'2009-06-29 05:26:57'
'2009-06-29 05:29:06'
'2009-06-29 05:32:11'
'2009-06-29 05:52:07'
Run Code Online (Sandbox Code Playgroud)
提前致谢!
所以我的代码中有一些SMTP内容,我正在尝试对该方法进行单元测试.
所以我一直在尝试使用Mockup MailMessage但它似乎永远不会起作用.我认为没有一种方法是虚拟的或抽象的,所以我不能用moq来模拟它:(.
所以我想我必须手工完成,这就是我被困住的地方.
*手动我的意思是使用界面和包装器,但让moq仍然模拟界面.
我不知道如何编写我的接口和我的Wrapper(一个将实现具有实际MailMessage代码的接口的类,因此当我的真实代码运行时它实际上完成了它需要做的事情).
所以首先我不确定如何设置我的界面.让我们来看看我必须模拟的其中一个字段.
MailMessage mail = new MailMessage();
mail.To.Add("test@hotmail.com");
Run Code Online (Sandbox Code Playgroud)
所以这是我要假装的第一件事.
所以看着它我知道"To"是一个属性,通过命中F12而不是"To"它需要我这一行:
public MailAddressCollection To { get; }
Run Code Online (Sandbox Code Playgroud)
所以它是MailAddressCollection属性.但有些我怎么被允许进一步做"添加".
所以现在我的问题是在我的界面中我做了什么?
我要做房产吗?该属性应该是MailAddressCollection吗?
或者我应该有一个像这样的方法?
void MailAddressCollection To(string email);
or
void string To.Add(string email);
Run Code Online (Sandbox Code Playgroud)
那我的包装怎么样?
所以你可以看到我很困惑.因为有这么多.我猜我只是模拟我正在使用的那些.
编辑代码
我想在真正意义上我只需要测试更多异常,但我想测试以确保一切都被发送然后它将得到响应=成功.
string response = null;
try
{
MembershipUser userName = Membership.GetUser(user);
string newPassword = userName.ResetPassword(securityAnswer);
MailMessage mail = new MailMessage();
mail.To.Add(userName.Email);
mail.From = new MailAddress(ConfigurationManager.AppSettings["FROMEMAIL"]);
mail.Subject = "Password Reset";
string body = userName + " Your Password has been reset. Your new temporary …Run Code Online (Sandbox Code Playgroud) bash中是否有任何内置功能可以等待任何进程完成?该wait命令仅允许等待子进程完成.我想知道在继续执行任何脚本之前是否有任何方法可以等待任何进程完成.
这样做的机械方法如下,但我想知道bash中是否有任何内置功能.
while ps -p `cat $PID_FILE` > /dev/null; do sleep 1; done
Run Code Online (Sandbox Code Playgroud)