当前位置: 首页>>代码示例>>C#>>正文


C# Collection4.Ensure方法代码示例

本文整理汇总了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;
		}
开发者ID:Galigator,项目名称:db4o,代码行数:36,代码来源:QCon.cs

示例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;
		}
开发者ID:Galigator,项目名称:db4o,代码行数:35,代码来源:QCon.cs

示例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());
 }
开发者ID:masroore,项目名称:db4o,代码行数:8,代码来源:Collection4TestCase.cs

示例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());
		}
开发者ID:Galigator,项目名称:db4o,代码行数:10,代码来源:Collection4TestCase.cs

示例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;
 }
开发者ID:masroore,项目名称:db4o,代码行数:35,代码来源:QCon.cs


注:本文中的Db4objects.Db4o.Foundation.Collection4.Ensure方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。