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


C# DomNode.GetDecorators方法代码示例

本文整理汇总了C#中DomNode.GetDecorators方法的典型用法代码示例。如果您正苦于以下问题:C# DomNode.GetDecorators方法的具体用法?C# DomNode.GetDecorators怎么用?C# DomNode.GetDecorators使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DomNode的用法示例。


在下文中一共展示了DomNode.GetDecorators方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: TestGetDecoratorsInherited

        public void TestGetDecoratorsInherited()
        {
            DomNodeType baseType = new DomNodeType("baseType");
            baseType.Define(new ExtensionInfo<DerivedAdapter>()); // derived adapter on base type!
            DomNodeType derivedType = new DomNodeType("derivedType");
            derivedType.BaseType = baseType;
            derivedType.Define(new ExtensionInfo<SimpleAdapter>());

            DomNode node = new DomNode(derivedType);
            object simple = node.GetAdapter(typeof(SimpleAdapter));
            object derived = node.GetAdapter(typeof(DerivedAdapter));

            // test that they're returned in order of inheritance
            Utilities.TestSequenceEqual(node.GetDecorators(typeof(SimpleAdapter)), simple, derived);
        }
开发者ID:cococo111111,项目名称:ATF,代码行数:15,代码来源:TestDomNode.cs

示例2: TestDuplicateExtensionInfo

        public void TestDuplicateExtensionInfo()
        {
            var ext1 = new ExtensionInfo<TestAdapter1>("foo");
            var ext2 = new ExtensionInfo<TestAdapter2>("foo");

            var domType = new DomNodeType(
                "test",
                null,
                EmptyEnumerable<AttributeInfo>.Instance,
                EmptyEnumerable<ChildInfo>.Instance,
                new ExtensionInfo[] { ext1, ext2 });

            var domNode = new DomNode(domType);

            object resultExt1 = domNode.GetExtension(ext1);
            object resultExt2 = domNode.GetExtension(ext2);

            Assert.IsTrue(resultExt1 is TestAdapter1);
            Assert.IsTrue(resultExt2 is TestAdapter2);

            object[] decorators = domNode.GetDecorators(typeof(object)).ToArray();
            Assert.IsTrue(
                decorators.Length == 2 &&
                decorators[0] == resultExt1 &&
                decorators[1] == resultExt2);

            DomNodeAdapter[] extensions = domNode.AsAll<DomNodeAdapter>().ToArray();
            Assert.IsTrue(
                extensions.Length == 2 &&
                extensions[0] == resultExt1 &&
                extensions[1] == resultExt2);

            // Searching by name is a problem, though. The search is ambiguous.
            // See tracker item for discussion: http://tracker.ship.scea.com/jira/browse/WWSATF-522
            Assert.Throws<InvalidOperationException>(() => domType.GetExtensionInfo("foo"));
        }
开发者ID:sbambach,项目名称:ATF,代码行数:36,代码来源:TestDomNodeType.cs

示例3: TestGetDecorators

        public void TestGetDecorators()
        {
            DomNodeType type = new DomNodeType("type");
            type.Define(new ExtensionInfo<SimpleAdapter>());
            type.Define(new ExtensionInfo<DerivedAdapter>());
            DomNode node = new DomNode(type);

            object simple = node.GetAdapter(typeof(SimpleAdapter));
            object derived = node.GetAdapter(typeof(DerivedAdapter));

            // test that they're returned in order of definition on node
            Utilities.TestSequenceEqual(node.GetDecorators(typeof(SimpleAdapter)), simple, derived);
        }
开发者ID:cococo111111,项目名称:ATF,代码行数:13,代码来源:TestDomNode.cs


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