Пример #1
0
        public void TestMethodProtected1()
        {
            var a = typeof(MethodModel).GetMethod("M");

            Assert.Equal("virtual ", ModifierReverser.GetModifier(a));
            Assert.False(a.IsAbstract);
        }
Пример #2
0
        public StringBuilder GetModifyBuilder()
        {
            ModifierScript.Clear();
            if (_status.Contains(Modifiers.Static))
            {
                ModifierScript.Append("static ");
            }


            if (_status.Contains(Modifiers.Unsafe))
            {
                ModifierScript.Append("unsafe ");
            }


            foreach (var item in _status)
            {
                if (item != Modifiers.Static && item != Modifiers.Unsafe)
                {
                    ModifierScript.Append(ModifierReverser.GetModifier(item));
                }
            }
            ModifierScript.Append(_modifierScript);
            return(ModifierScript);
        }
Пример #3
0
        public void TestMethodProtected2()
        {
            var a = typeof(MethodModel2).GetMethod("M");

            Assert.Equal("abstract ", ModifierReverser.GetModifier(a));
            Assert.True(a.IsVirtual);
        }
Пример #4
0
        public override T Builder()
        {
            StringBuilder builder = new StringBuilder();

            if (_status.Contains(Modifiers.Static))
            {
                builder.Append("static ");
                _status.Remove(Modifiers.Static);
            }


            if (_status.Contains(Modifiers.Unsafe))
            {
                builder.Append("unsafe ");
                _status.Remove(Modifiers.Unsafe);
            }


            ModifierScript.Insert(0, builder);
            foreach (var item in _status)
            {
                ModifierAppend(ModifierReverser.GetModifier(item));
            }


            // [Attribute]
            // [access] [{this}]
            base.Builder();
            _script.Append(ModifierScript);
            return(Link);
        }
Пример #5
0
        public string GetModifyBuilder()
        {
            StringBuilder builder = new StringBuilder();

            if (_status.Contains(ModifierFlags.Static))
            {
                builder.Append("static ");
            }


            if (_status.Contains(ModifierFlags.Unsafe))
            {
                builder.Append("unsafe ");
            }


            foreach (var item in _status)
            {
                if (item != ModifierFlags.Static && item != ModifierFlags.Unsafe)
                {
                    builder.Append(ModifierReverser.GetModifier(item));
                }
            }
            builder.Append(_modifierScript);
            return(builder.ToString());
        }
Пример #6
0
        public override T BuilderScript()
        {
            ModifierScript.Clear();
            if (_status.Contains(Modifiers.Static))
            {
                ModifierScript.Append("static ");
            }


            if (_status.Contains(Modifiers.Unsafe))
            {
                ModifierScript.Append("unsafe ");
            }


            foreach (var item in _status)
            {
                if (item != Modifiers.Static && item != Modifiers.Unsafe)
                {
                    ModifierScript.Append(ModifierReverser.GetModifier(item));
                }
            }
            ModifierScript.Append(_modifierScript);


            // [Attribute]
            // [access] [{this}]
            base.BuilderScript();
            _script.Append(ModifierScript);
            return(Link);
        }
        public void TestMethod2()
        {
            var info = typeof(InterfaceMethodModel).GetMethod("M");

            Assert.True(info.IsVirtual);
            Assert.True(info.IsHideBySig);
            Assert.True(info.IsAbstract);
            Assert.True(info.GetBaseDefinition() == info);
            Assert.False(info.IsFinal);
            Assert.Equal("", ModifierReverser.GetModifier(info));
        }
        public void TestMetho6()
        {
            var info = typeof(OverrideVirtualMethodModel).GetMethod("M");

            Assert.True(info.IsVirtual);
            Assert.True(info.IsHideBySig);

            Assert.False(info.GetBaseDefinition() == info);
            Assert.False(info.IsAbstract);
            Assert.False(info.IsFinal);
            Assert.False(IsNotNewMethod(info));
            Assert.Equal("override ", ModifierReverser.GetModifier(info));
        }
Пример #9
0
 /// <summary>
 /// 根据类型反射得到保护级别
 /// </summary>
 /// <param name="type">外部类型</param>
 /// <returns></returns>
 public T Modifier(Type type)
 {
     _modifierScript = ModifierReverser.GetModifier(type);
     return(Link);
 }
Пример #10
0
 /// <summary>
 /// 通过方法元数据反射出特殊修饰符
 /// </summary>
 /// <param name="modifierInfo">方法元数据</param>
 /// <returns></returns>
 public T Modifier(MethodInfo modifierInfo)
 {
     _modifierScript = ModifierReverser.GetModifier(modifierInfo);
     return(Link);
 }
Пример #11
0
 /// 通过属性元数据反射出特殊修饰符
 /// </summary>
 /// <param name="modifierInfo">属性元数据</param>
 /// <returns></returns>
 public T Modifier(PropertyInfo modifierInfo)
 {
     _modifierScript = ModifierReverser.GetModifier(modifierInfo);
     return(Link);
 }
Пример #12
0
 public T MemberModifier(Modifiers modifier)
 {
     MemberModifierScript = ModifierReverser.GetModifier(modifier);
     return(Link);
 }
Пример #13
0
        public void TestMethodProtected3()
        {
            var a = typeof(MethodModel3).GetMethod("M");

            Assert.Equal("override ", ModifierReverser.GetModifier(a));
        }
Пример #14
0
 /// <summary>
 /// 根据类型反射得到保护级别
 /// </summary>
 /// <param name="type">外部类型</param>
 /// <returns></returns>
 public T Modifier(Type type)
 {
     ModifierScript.Append(ModifierReverser.GetModifier(type));
     return(Link);
 }
Пример #15
0
 /// <summary>
 /// 通过方法元数据反射出特殊修饰符
 /// </summary>
 /// <param name="modifierInfo">方法元数据</param>
 /// <returns></returns>
 public T Modifier(MethodInfo modifierInfo)
 {
     ModifierScript.Append(ModifierReverser.GetModifier(modifierInfo));
     return(Link);
 }
 public T MethodModifier(MethodInfo modifier)
 {
     OnceModifierScript = ModifierReverser.GetModifier(modifier);
     return(Link);
 }
Пример #17
0
 public T OopModifier(Modifiers enumModifier)
 {
     OopModifierScript = ModifierReverser.GetModifier(enumModifier);
     return(Link);
 }
Пример #18
0
 public T OopModifier(MethodInfo reflectMethodInfo)
 {
     OopModifierScript = ModifierReverser.GetModifier(reflectMethodInfo);
     return(Link);
 }
Пример #19
0
        public void TestMethodProtected4()
        {
            var a = typeof(IMethodModel4).GetMethod("M");

            Assert.Equal(null, ModifierReverser.GetModifier(a));
        }