本文整理汇总了C#中Db4objects.Db4o.Foundation.Collection4.Ensure方法的典型用法代码示例。如果您正苦于以下问题:C# Collection4.Ensure方法的具体用法?C# Collection4.Ensure怎么用?C# Collection4.Ensure使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Db4objects.Db4o.Foundation.Collection4
的用法示例。
在下文中一共展示了Collection4.Ensure方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Join1
internal virtual IConstraint Join1(Db4objects.Db4o.Internal.Query.Processor.QCon
a_with, bool a_and)
{
if (a_with is QConstraints)
{
int j = 0;
Collection4 joinHooks = new Collection4();
IConstraint[] constraints = ((QConstraints)a_with).ToArray();
for (j = 0; j < constraints.Length; j++)
{
joinHooks.Ensure(((Db4objects.Db4o.Internal.Query.Processor.QCon)constraints[j]).
JoinHook());
}
IConstraint[] joins = new IConstraint[joinHooks.Size()];
j = 0;
IEnumerator i = joinHooks.GetEnumerator();
while (i.MoveNext())
{
joins[j++] = Join((IConstraint)i.Current, a_and);
}
return new QConstraints(i_trans, joins);
}
Db4objects.Db4o.Internal.Query.Processor.QCon myHook = JoinHook();
Db4objects.Db4o.Internal.Query.Processor.QCon otherHook = a_with.JoinHook();
if (myHook == otherHook)
{
// You might like to check out, what happens, if you
// remove this line. It seems to open a bug in an
// StOr testcase.
return myHook;
}
QConJoin cj = new QConJoin(i_trans, myHook, otherHook, a_and);
myHook.AddJoin(cj);
otherHook.AddJoin(cj);
return cj;
}
示例2: IterateJoins
internal virtual Db4objects.Db4o.Internal.Query.Processor.QCon ProduceTopLevelJoin
()
{
if (!HasJoins())
{
return this;
}
IEnumerator i = IterateJoins();
if (i_joins.Size() == 1)
{
i.MoveNext();
return ((Db4objects.Db4o.Internal.Query.Processor.QCon)i.Current).ProduceTopLevelJoin
();
}
Collection4 col = new Collection4();
while (i.MoveNext())
{
col.Ensure(((Db4objects.Db4o.Internal.Query.Processor.QCon)i.Current).ProduceTopLevelJoin
());
}
i = col.GetEnumerator();
i.MoveNext();
Db4objects.Db4o.Internal.Query.Processor.QCon qcon = (Db4objects.Db4o.Internal.Query.Processor.QCon
)i.Current;
if (col.Size() == 1)
{
return qcon;
}
while (i.MoveNext())
{
qcon = (Db4objects.Db4o.Internal.Query.Processor.QCon)qcon.And((IConstraint)i.Current
);
}
return qcon;
}
示例3: AssertContainsNull
private void AssertContainsNull(Collection4 c)
{
Assert.IsTrue(c.Contains(null));
Assert.IsNull(c.Get(null));
var size = c.Size();
c.Ensure(null);
Assert.AreEqual(size, c.Size());
}
示例4: AssertNotContainsNull
private void AssertNotContainsNull(Collection4 c)
{
Assert.IsFalse(c.Contains(null));
Assert.IsNull(c.Get(null));
int size = c.Size();
c.Ensure(null);
Assert.AreEqual(size + 1, c.Size());
c.Remove(null);
Assert.AreEqual(size, c.Size());
}
示例5: IterateJoins
internal virtual QCon ProduceTopLevelJoin
()
{
if (!HasJoins())
{
return this;
}
var i = IterateJoins();
if (i_joins.Size() == 1)
{
i.MoveNext();
return ((QCon) i.Current).ProduceTopLevelJoin
();
}
var col = new Collection4();
while (i.MoveNext())
{
col.Ensure(((QCon) i.Current).ProduceTopLevelJoin
());
}
i = col.GetEnumerator();
i.MoveNext();
var qcon = (QCon
) i.Current;
if (col.Size() == 1)
{
return qcon;
}
while (i.MoveNext())
{
qcon = (QCon) qcon.And((IConstraint) i.Current
);
}
return qcon;
}