我总是在接口处缠绕问题,所以我尽力避免它们.直到我看到这段代码
public interface IFormsAuthenticationService
{
void SignIn(string userName, bool createPersistentCookie);
void SignOut();
}
public class FormsAuthenticationService : IFormsAuthenticationService
{
public void SignIn(string userName, bool createPersistentCookie)
{
if (String.IsNullOrEmpty(userName)) throw new ArgumentException("Value cannot be null or empty.", "userName");
FormsAuthentication.SetAuthCookie(userName, createPersistentCookie);
}
public void SignOut()
{
FormsAuthentication.SignOut();
}
}
Run Code Online (Sandbox Code Playgroud)
看着这个我收集到的IFormsAuthenticationServce界面或多或少是这个FormsAuthenticationService类的"蓝图" 吧?但为什么?对我而言似乎是多余的.我知道它不是,但我不明白为什么它有益,为什么你应该为你的类创建接口.它仅用于预先确定类的方法吗?
我添加了渐变图层:
[theView.layer insertSublayer:gradient atIndex:0];
Run Code Online (Sandbox Code Playgroud)
后来在另一种方法中我想删除这一层.我想我应该得到子层数组,然后在索引0处获得子层并在其上调用removeFromSuperlayer.这是正确的方法,如果没有,你能做到吗?
干杯.
我有一个xml,其中一个元素的属性可以为空.例如,
<tests>
<test language="">
.....
</test>
</tests>
Run Code Online (Sandbox Code Playgroud)
现在,语言是从模式创建的类中的枚举类型.如果指定了语言,它可以正常工作,如果它是空白则无法反序列化(如示例所示).
编辑:反序列化的代码:
XmlSerializer xmlserializer = new XmlSerializer(type);
StringReader strreader = new StringReader(stringXML);
Object o = serializer.Deserialize(strreader);
Run Code Online (Sandbox Code Playgroud)
我该如何处理这种情况
我们有几个subversion存储库:一个用于公共代码,一个用于每个顶级项目.顶级项目有一个svn:外部链接到公共存储库的主干.
在构建项目版本之前,我们创建顶级项目的分支,并在公共存储库中创建并行分支.
我们如何自动确保分支顶级项目中的svn:external属性指向公共目录中的并行分支 - 当前它将指向公共存储库中的"trunk".我们目前不得不在分支项目中手动编辑它.
谢谢
我已经使用C++一段时间了,我开始对低级系统编程感兴趣,比如驱动程序和东西.甚至某种原始操作系统也可能是非常有趣的项目!
我不知道我可以从哪里开始.是否有任何不太具挑战性的事情我可以开始使用C++我应该尽量避免像性能关键代码中的异常一样?
我的当前操作系统是Windows 7,如果这很重要的话.
我如何将NSDate转换为如下字符串:
Monday, November 22, 2010
Run Code Online (Sandbox Code Playgroud)
..然后再回到NSDate?
如果我System.Drawing.Rectangle在画布和一个上有两个对象,计算哪个( 的任何部分,而不仅仅是它的)最接近那个Point的最佳方法是什么?RectangleRectangleLocation PointPoint
一个单元测试的例子:
Rectangle one = new Rectangle (0, 0, 10, 10);
Rectangle two = new Rectangle (20, 20, 10, 10);
Point point = new Point(14, 14);
Rectangle actual = ClosestToPoint(point, one, two);
// should be closer to one since one's bottom right is at (10, 10)
Assert.That(actual, Is.SameAs(one));
// method to write
public Rectangle ClosestToPoint(Point p, params Rectangle[] rectangles) { }
Run Code Online (Sandbox Code Playgroud) 我在SQL 2005中有一个UDA,它一直生成以下错误.我猜这很可能是由于最大字节大小为8000的限制....有什么工作我可以用来解决这个问题吗?有关在2005年避免此限制的任何建议吗?我知道2008年应该取消这些限制,但我暂时无法升级.
A .NET Framework error occurred during execution of user-defined routine or aggregate "CommaListConcatenate":
System.Data.SqlTypes.SqlTypeException: The buffer is insufficient. Read or write operation failed.
System.Data.SqlTypes.SqlTypeException:
at System.Data.SqlTypes.SqlBytes.Write(Int64 offset, Byte[] buffer, Int32 offsetInBuffer, Int32 count)
at System.Data.SqlTypes.StreamOnSqlBytes.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BinaryWriter.Write(String value)
at TASQLCLR.CommaListConcatenate.Write(BinaryWriter w)
Run Code Online (Sandbox Code Playgroud) 任何人都可以阐明如果GDI StretchBlt为工作站Win32 API函数执行用于缩放到双线性插值二者较大和较小的图像24位/ 32位彩色图像?如果没有,是否有一个GDI(而不是 GDI +)功能呢?
该SetStretchBltMode FN具有设置HALFTONE其如下记载:
HALFTONE 将源矩形中的像素映射到目标矩形中的像素块.目标像素块上的平均颜色近似于源像素的颜色.
我已经看过参考文献(参见第一个答案的后续内容),这会在缩小图像时执行双线性插值,但是在放大时没有明确的答案.
我注意到Windows Mobile CE SDK确实支持BILINEAR标志 - 这与HALFTONE注释完全相反(仅适用于扩展).
请注意,对于这个问题的范围,我对追求GDI +(有多种插值选项),OpenGL,DirectX等作为替代方案并不感兴趣,所以请不要为这些其他API或替代方案的后续工作而烦恼图像库.
我真正希望找到的是一些明确的MS/MSDN或其他高质量文档,它们清楚地记录了Win32(桌面)GDI行为的这种行为.
同时,我会尝试一些比较GDI和Direct2D的实验(它确实有一个明确的标志来控制它)并发布我的发现.
谢谢!