Beispiel #1
0
        public void ExactBindingFlags()
        {
            var flags     = BindingFlags.ExactBinding;
            var reflector = new BindingReflector().ExactBinding;

            HasFlags(reflector, flags);
        }
Beispiel #2
0
        public void DefaultFlags()
        {
            var flags     = BindingFlags.Default;
            var reflector = new BindingReflector();

            HasFlags(reflector, flags);
        }
Beispiel #3
0
        public void FlattenHierarchyFlags()
        {
            var flags     = BindingFlags.FlattenHierarchy;
            var reflector = new BindingReflector().FlattenHierarchy;

            HasFlags(reflector, flags);
        }
Beispiel #4
0
        public void DeclaredOnlyFlags()
        {
            var flags     = BindingFlags.DeclaredOnly;
            var reflector = new BindingReflector().DeclaredOnly;

            HasFlags(reflector, flags);
        }
Beispiel #5
0
        public void InvokeMethodFlags()
        {
            var flags     = BindingFlags.InvokeMethod;
            var reflector = new BindingReflector().InvokeMethod;

            HasFlags(reflector, flags);
        }
Beispiel #6
0
        public void SuppressChangeTypeFlags()
        {
            var flags     = BindingFlags.SuppressChangeType;
            var reflector = new BindingReflector().SuppressChangeType;

            HasFlags(reflector, flags);
        }
Beispiel #7
0
        public void OptionalParamBindingFlags()
        {
            var flags     = BindingFlags.OptionalParamBinding;
            var reflector = new BindingReflector().OptionalParamBinding;

            HasFlags(reflector, flags);
        }
Beispiel #8
0
        public void SetFieldFlags()
        {
            var flags     = BindingFlags.SetField;
            var reflector = new BindingReflector().SetField;

            HasFlags(reflector, flags);
        }
Beispiel #9
0
        public void StaticFlags()
        {
            var flags     = BindingFlags.Static;
            var reflector = new BindingReflector().Static;

            HasFlags(reflector, flags);
        }
Beispiel #10
0
        public void SetPropertyFlags()
        {
            var flags     = BindingFlags.SetProperty;
            var reflector = new BindingReflector().SetProperty;

            HasFlags(reflector, flags);
        }
Beispiel #11
0
        public void CreateInstanceFlags()
        {
            var reflector = new BindingReflector().CreateInstance;

            Assert.IsTrue(reflector.HasCreateInstance);
            HasFlags(reflector, BindingFlags.CreateInstance);
        }
Beispiel #12
0
        public void PutRefDispPropertyFlags()
        {
            var flags     = BindingFlags.PutRefDispProperty;
            var reflector = new BindingReflector().PutRefDispProperty;

            HasFlags(reflector, flags);
        }
Beispiel #13
0
        public void NonPublicFlags()
        {
            var flags     = BindingFlags.NonPublic;
            var reflector = new BindingReflector().NonPublic;

            HasFlags(reflector, flags);
        }
Beispiel #14
0
        public void IgnoreReturnFlags()
        {
            var flags     = BindingFlags.IgnoreReturn;
            var reflector = new BindingReflector().IgnoreReturn;

            HasFlags(reflector, flags);
        }
Beispiel #15
0
        public void IgnoreCaseFlags()
        {
            var flags     = BindingFlags.IgnoreCase;
            var reflector = new BindingReflector().IgnoreCase;

            HasFlags(reflector, flags);
        }
Beispiel #16
0
        public void HasFlags(BindingReflector reflector, BindingFlags flags)
        {
            Assert.AreEqual(flags, reflector.Flags);

            reflector = reflector.Public.NonPublic.Static;

            Assert.AreNotEqual(flags, reflector.Flags);
        }
Beispiel #17
0
        public void CreateInstance1()
        {
            var obj = new BindingReflector();

            Assert.IsTrue(obj.HasDefault);
            Assert.IsTrue(obj.InstanceObject == null);
            Assert.IsTrue(obj.Type == null);
            Assert.IsTrue(obj.Flags == BindingFlags.Default);
        }
Beispiel #18
0
        public void FlagsOff()
        {
            var obj             = new BindingReflector();
            var publicNonPublic = obj.Public.NonPublic;

            Assert.IsTrue(publicNonPublic.HasPublic);
            Assert.IsTrue(publicNonPublic.HasNonPublic);
            publicNonPublic = publicNonPublic.FlagsOff(BindingFlags.Public);
            Assert.IsFalse(publicNonPublic.HasPublic);
            Assert.IsTrue(publicNonPublic.HasNonPublic);
        }
Beispiel #19
0
        public void Bind2()
        {
            var reflector = CreateReflector();
            var binding   = new BindingReflector().Public.NonPublic.Static;
            var acceser   = reflector.Bind(binding);

            Assert.IsTrue(acceser.BindingReflector.HasPublic);
            Assert.IsTrue(acceser.BindingReflector.HasNonPublic);
            Assert.IsTrue(acceser.BindingReflector.HasStatic);
            Assert.AreEqual(binding.InstanceObject, acceser.InstanceObject);
            Assert.AreEqual(typeof(ConstructorTarget), acceser.Type);
        }
Beispiel #20
0
        public void CreateInstance2()
        {
            var testobj     = new object();
            var testBinding = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
            var testType    = typeof(object);
            var obj         = new BindingReflector(testBinding, testType, testobj);

            Assert.IsTrue(obj.HasInstance);
            Assert.IsTrue(obj.HasPublic);
            Assert.IsTrue(obj.HasNonPublic);
            Assert.AreEqual(testType, obj.Type);
            Assert.AreEqual(testobj, obj.InstanceObject);
            Assert.AreEqual(testBinding, obj.Flags);
        }
Beispiel #21
0
        public void GenerateAccessReflectorError()
        {
            var publicNonPublic = new BindingReflector().Public.NonPublic;

            Assert.Throws <InvalidOperationException>(() => { publicNonPublic.GenerateAccessReflector(); });
        }
Beispiel #22
0
 private void AssertTypeAndObject <T>(BindingReflector reflector, T obj)
 {
     Assert.AreEqual(obj, reflector.InstanceObject);
     Assert.AreEqual(typeof(T), reflector.Type);
 }