本文整理汇总了C#中ContentRef.DeepClone方法的典型用法代码示例。如果您正苦于以下问题:C# ContentRef.DeepClone方法的具体用法?C# ContentRef.DeepClone怎么用?C# ContentRef.DeepClone使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ContentRef
的用法示例。
在下文中一共展示了ContentRef.DeepClone方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CloneContentRef
[Test] public void CloneContentRef()
{
Random rnd = new Random();
TestResource source = new TestResource(rnd);
ContentRef<TestResource> sourceRef = new ContentRef<TestResource>(source, "SomeTestPath");
// Expect the Resource to be cloned
TestResource target = source.DeepClone();
Assert.AreEqual(source, target);
Assert.AreNotSame(source, target);
// Expect only the reference to be cloned
ContentRef<TestResource> targetRef = sourceRef.DeepClone();
Assert.AreEqual(sourceRef.Path, targetRef.Path);
Assert.AreEqual(sourceRef.ResWeak, targetRef.ResWeak);
// Let the source reference itself
source.TestContentRef = source;
Assert.AreSame(source, source.TestContentRef.ResWeak);
// Expect the Resource to be cloned and holding a ContentRef to itself
TestResource targetWithSelfRef = source.DeepClone();
Assert.AreSame(targetWithSelfRef, targetWithSelfRef.TestContentRef.ResWeak);
}