我的理解是所有合同实现代码必须在一个类中,显然可能变得非常大.我该如何避免这种情况?我真的更愿意让一些小班做与客户沟通的一部分而不是一个庞然大物的班级.
我能想到的唯一想法是使用由单个类拆分实现的多个接口partial,但我不认为这确实解决了这个问题.
我有一个存储过程,除了其他功能之外,还有一些循环内不同表中的插入.请参阅以下示例以更清楚地了解:
INSERT INTO T1 VALUES ('something')
SET @MyID = Scope_Identity()
... some stuff go here
INSERT INTO T2 VALUES (@MyID, 'something else')
... The rest of the procedure
Run Code Online (Sandbox Code Playgroud)
这两个表(T1和T2)在每个表中都有一个IDENTITY(1,1)列,我们称之为ID1和ID2; 但是,在我们的生产数据库(非常繁忙的数据库)中运行该程序并在每个表中有超过6250条记录后,我注意到ID1与ID2不匹配的一个事件!虽然通常对于插入T1中的每个记录,但是在T2中插入了记录,并且两者中的标识列一致地递增.
"错误的"记录是这样的:
ID1 Col1
---- ---------
4709 data-4709
4710 data-4710
ID2 ID1 Col1
---- ---- ---------
4709 4710 data-4710
4710 4709 data-4709
Run Code Online (Sandbox Code Playgroud)
注意第二个表中的"倒"ID1.
在操作中对SQL Server知之甚少,我已经提出了以下"理论",也许有人可以纠正我.
我认为因为循环比物理写入表更快,和/或可能延迟写入过程的其他事情,记录被缓冲.在写它们的时候,它们没有特别的顺序写.
如果没有,那是否可能,如何解释上述情况?
如果是,那么我还有另一个问题要提出来.如果第一个插入(来自上面的代码)被延迟怎么办?这是不是意味着我不会将正确的IDENTITY插入第二个表?如果答案也是肯定的,那么我该怎样做才能确保两个表中的插入将按正确的IDENTITY顺序进行?
我感谢任何有助于我理解这一点的评论和信息.
提前致谢.
我们似乎从网页中抽象了许多逻辑方式并创建了"帮助"类.可悲的是,这些课程听起来都是一样的,例如
ADHelper,(Active Directory)AuthenicationHelper,SharePointHelper
其他人是否有大量具有此命名约定的类?
我正在研究一个解决方案,它的大部分核心引擎都是作为Win32 C++开发的(并且与平台无关,也用于OS X),前段时间我们需要从C#调用C++ dll的核心引擎,我能够在C#中加载主解决方案的DLL(在SO的某些线程的帮助下).但是现在我们在Managed C#dll中实现了某些东西,需要在Win32 C++项目中使用它吗?(只提供函数定义和dll)
在继承的类中,我使用基础构造函数,但我不能使用类的成员调用此基础构造函数.
在这个例子中,我有一张PicturedLabel,它知道自己的颜色并有一个图像.A TypedLabel : PictureLabel知道它的类型但使用基色.
使用TypedLabel的(基础)图像应使用(基色)颜色着色,但是,我无法获得此颜色
错误:关键字"this"在当前上下文中不可用
解决方法?
/// base class
public class PicturedLabel : Label
{
PictureBox pb = new PictureBox();
public Color LabelColor;
public PicturedLabel()
{
// initialised here in a specific way
LabelColor = Color.Red;
}
public PicturedLabel(Image img)
: base()
{
pb.Image = img;
this.Controls.Add(pb);
}
}
public enum LabelType { A, B }
/// derived class
public class TypedLabel : PicturedLabel
{
public TypedLabel(LabelType type)
: base(GetImageFromType(type, this.LabelColor))
//Error: Keyword 'this' is not available …Run Code Online (Sandbox Code Playgroud) 当我试图运行我的程序时,它给出以下错误
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jacob-1.14.3-x86 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1030)
at com.jacob.com.LibraryLoader.loadJacobLibrary(LibraryLoader.java:184)
at com.jacob.com.JacobObject.<clinit>(JacobObject.java:108)
at javaSMSTest.main(javaSMSTest.java:18)
Run Code Online (Sandbox Code Playgroud)
请帮忙
我被卡住了.我正在尝试动态定义一个类方法,我无法绕过ruby元类模型.考虑以下课程:
class Example
def self.meta; (class << self; self; end); end
def self.class_instance; self; end
end
Example.class_instance.class # => Class
Example.meta.class # => Class
Example.class_instance == Example # => true
Example.class_instance == Example.meta # => false
Run Code Online (Sandbox Code Playgroud)
显然,这两个方法都返回Class的实例.但这两个实例并不相同.他们也有不同的祖先:
Example.meta.ancestors # => [Class, Module, Object, Kernel]
Example.class_instance.ancestors # => [Example, Object, Kernel]
Run Code Online (Sandbox Code Playgroud)
在元类和类实例之间做出改变有什么意义?
我想,我可以send :define_method向元类动态定义一个方法,但是如果我尝试将它发送到类实例它将无法工作.至少我可以解决我的问题,但我仍然想知道它为什么这样工作.
更新2010年3月15日13:40
以下假设是否正确.
我觉得它开始对我有意义了.如果类方法中的self指向特征类,那肯定会限制你的可能性.如果是这样,就无法从类方法中定义实例方法.那是对的吗?
对于极其模糊的问题标题(欢迎任何改进建议)感到抱歉
我有一个XSL文档,目前有很多我想要减少的复制.
以下是我正在使用的以下XML代码段
<Unit Status="alive">
Run Code Online (Sandbox Code Playgroud)
我目前正在使用以下XSL来显示基于单元状态的图像
<xsl:choose>
<xsl:when test="@Status = 'alive'">
<img src="/web/resources/graphics/accept.png" />
</xsl:when>
<xsl:when test="@Status = 'missingUnit'">
<img src="/web/resources/graphics/error.png" />
</xsl:when>
<xsl:when test="@Status = 'missingNode'">
<img src="/web/resources/graphics/exclamation.png" />
</xsl:when>
<xsl:when test="@Status = 'unexpectedUnit'">
<img src="/web/resources/graphics/exclamation_blue.png" />
</xsl:when>
<xsl:otherwise>
<!-- Should never get here -->
<img src="/web/resources/graphics/delete.png" />
</xsl:otherwise>
</xsl:choose>
Run Code Online (Sandbox Code Playgroud)
如何将此代码放在模板或样式表中,以便我可以在任何地方停止复制/粘贴?
我正在寻找一种算法,它可以在二叉树中找到两个最远的元素,而不是寻找任何特殊语言,仅用于算法.
谢谢.