コード例 #1
0
 public void ResolveNullableDecimal()
 {
     Assert.AreEqual(typeof(decimal?),
                     TypeRegistry.ResolveType(TypeRegistry.NullableDecimalAlias));
     Assert.AreEqual(typeof(Nullable <decimal>),
                     TypeRegistry.ResolveType(TypeRegistry.NullableDecimalAlias));
 }
コード例 #2
0
 public void ResolveNullableFloat()
 {
     Assert.AreEqual(typeof(float?),
                     TypeRegistry.ResolveType(TypeRegistry.NullableFloatAlias));
     Assert.AreEqual(typeof(Nullable <float>),
                     TypeRegistry.ResolveType(TypeRegistry.NullableFloatAlias));
 }
コード例 #3
0
 public void ResolveNullableUnsignedInteger()
 {
     Assert.AreEqual(typeof(uint?),
                     TypeRegistry.ResolveType(TypeRegistry.NullableUInt32Alias));
     Assert.AreEqual(typeof(Nullable <uint>),
                     TypeRegistry.ResolveType(TypeRegistry.NullableUInt32Alias));
 }
コード例 #4
0
 public void ResolveNullableUnsignedLong()
 {
     Assert.AreEqual(typeof(ulong?),
                     TypeRegistry.ResolveType(TypeRegistry.NullableUInt64Alias));
     Assert.AreEqual(typeof(Nullable <ulong>),
                     TypeRegistry.ResolveType(TypeRegistry.NullableUInt64Alias));
 }
コード例 #5
0
 public void ResolveNullableDouble()
 {
     Assert.AreEqual(typeof(double?),
                     TypeRegistry.ResolveType(TypeRegistry.NullableDoubleAlias));
     Assert.AreEqual(typeof(Nullable <double>),
                     TypeRegistry.ResolveType(TypeRegistry.NullableDoubleAlias));
 }
コード例 #6
0
 public void ResolveNullableShort()
 {
     Assert.AreEqual(typeof(short?),
                     TypeRegistry.ResolveType(TypeRegistry.NullableInt16Alias));
     Assert.AreEqual(typeof(Nullable <short>),
                     TypeRegistry.ResolveType(TypeRegistry.NullableInt16Alias));
 }
コード例 #7
0
 public void ResolveNullableUnsignedShort()
 {
     Assert.AreEqual(typeof(ushort?),
                     TypeRegistry.ResolveType(TypeRegistry.NullableUInt16Alias));
     Assert.AreEqual(typeof(Nullable <ushort>),
                     TypeRegistry.ResolveType(TypeRegistry.NullableUInt16Alias));
 }
コード例 #8
0
 public void ResolveNullableBool()
 {
     Assert.AreEqual(typeof(bool?),
                     TypeRegistry.ResolveType(TypeRegistry.NullableBoolAlias));
     Assert.AreEqual(typeof(Nullable <bool>),
                     TypeRegistry.ResolveType(TypeRegistry.NullableBoolAlias));
 }
コード例 #9
0
 public void ResolveNullableChar()
 {
     Assert.AreEqual(typeof(char?),
                     TypeRegistry.ResolveType(TypeRegistry.NullableCharAlias));
     Assert.AreEqual(typeof(Nullable <char>),
                     TypeRegistry.ResolveType(TypeRegistry.NullableCharAlias));
 }
コード例 #10
0
 public void ResolveNullableLong()
 {
     Assert.AreEqual(typeof(long?),
                     TypeRegistry.ResolveType(TypeRegistry.NullableInt64Alias));
     Assert.AreEqual(typeof(Nullable <long>),
                     TypeRegistry.ResolveType(TypeRegistry.NullableInt64Alias));
 }
コード例 #11
0
        // CLOVER:ON

        #endregion

        #region Methods

        /// <summary>
        /// Resolves the supplied type name into a <see cref="System.Type"/>
        /// instance.
        /// </summary>
        /// <remarks>
        /// <p>
        /// If you require special <see cref="System.Type"/> resolution, do
        /// <b>not</b> use this method, but rather instantiate
        /// your own <see cref="Spring.Core.TypeResolution.TypeResolver"/>.
        /// </p>
        /// </remarks>
        /// <param name="typeName">
        /// The (possibly partially assembly qualified) name of a
        /// <see cref="System.Type"/>.
        /// </param>
        /// <returns>
        /// A resolved <see cref="System.Type"/> instance.
        /// </returns>
        /// <exception cref="System.TypeLoadException">
        /// If the type cannot be resolved.
        /// </exception>
        public static Type ResolveType(string typeName)
        {
            Type type = TypeRegistry.ResolveType(typeName);

            if (type == null)
            {
                type = internalTypeResolver.Resolve(typeName);
            }
            return(type);
        }
コード例 #12
0
        public void RegisteringAnAliasTwiceDoesNotThrowException()
        {
            const string Alias = "foo";

            TypeRegistry.RegisterType(Alias, typeof(TestObject));
            TypeRegistry.RegisterType(Alias, GetType());

            Type type = TypeRegistry.ResolveType(Alias);

            Assert.AreEqual(GetType(), type, "Overriding Type was not registered.");
        }
コード例 #13
0
        public void TestAliasResolution()
        {
            TypeRegistry.RegisterType("Foo", typeof(Foo));
            TypeRegistry.RegisterType("Bar", "Spring.Objects.Factory.Bar, Spring.Core.Tests");

            Assert.AreEqual(TypeRegistry.ResolveType("Foo"), typeof(Foo));
            Assert.AreEqual(TypeRegistry.ResolveType("Bar"), typeof(Bar));

            IApplicationContext ctx =
                new XmlApplicationContext("assembly://Spring.Core.Tests/Spring.Core.TypeResolution/aliasedObjects.xml");

            Foo foo = ctx.GetObject("aliasedType") as Foo;

            Assert.IsNotNull(foo);
            Assert.IsNotNull(foo.Bar);
            Assert.AreEqual(foo.Bar, typeof(Bar));
            Assert.IsTrue(typeof(IBar).IsAssignableFrom(foo.Bar));
        }
コード例 #14
0
 public void ResolveNullableFloatArray()
 {
     Assert.AreEqual(typeof(float?[]),
                     TypeRegistry.ResolveType(TypeRegistry.NullableFloatArrayAlias));
 }
コード例 #15
0
 public void ResolveNullableDoubleArray()
 {
     Assert.AreEqual(typeof(double?[]),
                     TypeRegistry.ResolveType(TypeRegistry.NullableDoubleArrayAlias));
 }
コード例 #16
0
 public void ResolveNullableBoolArray()
 {
     Assert.AreEqual(typeof(bool?[]),
                     TypeRegistry.ResolveType(TypeRegistry.NullableBoolArrayAlias));
 }
コード例 #17
0
 public void ResolveTypeWithEmptyAliasArg()
 {
     Assert.Throws <ArgumentNullException>(() => TypeRegistry.ResolveType(string.Empty));
 }
コード例 #18
0
 public void ResolveNullableInt16Array()
 {
     Assert.AreEqual(typeof(short?[]),
                     TypeRegistry.ResolveType(TypeRegistry.NullableInt16ArrayAlias));
 }
コード例 #19
0
 public void ResolveNullableUInt64Array()
 {
     Assert.AreEqual(typeof(ulong?[]),
                     TypeRegistry.ResolveType(TypeRegistry.NullableUInt64ArrayAlias));
 }
コード例 #20
0
 public void ResolveVBSingleArray()
 {
     Assert.AreEqual(typeof(float[]),
                     TypeRegistry.ResolveType(TypeRegistry.SingleArrayAliasVB));
 }
コード例 #21
0
 public void ResolveNullableCharArray()
 {
     Assert.AreEqual(typeof(char?[]),
                     TypeRegistry.ResolveType(TypeRegistry.NullableCharArrayAlias));
 }
コード例 #22
0
 public void ResolveVBInt16Array()
 {
     Assert.AreEqual(typeof(short[]),
                     TypeRegistry.ResolveType(TypeRegistry.Int16ArrayAliasVB));
 }
コード例 #23
0
 public void ResolveTypeWithWhitespacedAliasArg()
 {
     Assert.Throws <ArgumentNullException>(() => TypeRegistry.ResolveType("   "));
 }
コード例 #24
0
 public void ResolveVBInt64Array()
 {
     Assert.AreEqual(typeof(long[]),
                     TypeRegistry.ResolveType(TypeRegistry.Int64ArrayAliasVB));
 }
コード例 #25
0
 public void ResolveUInt32Array()
 {
     Assert.AreEqual(typeof(uint[]),
                     TypeRegistry.ResolveType(TypeRegistry.UInt32ArrayAlias));
 }
コード例 #26
0
 public void ResolveVBCharArray()
 {
     Assert.AreEqual(typeof(char[]),
                     TypeRegistry.ResolveType(TypeRegistry.CharArrayAliasVB));
 }
コード例 #27
0
 public void ResolveVBBoolArray()
 {
     Assert.AreEqual(typeof(bool[]),
                     TypeRegistry.ResolveType(TypeRegistry.BoolArrayAliasVB));
 }
コード例 #28
0
 public void ResolveVBDateArray()
 {
     Assert.AreEqual(typeof(DateTime[]),
                     TypeRegistry.ResolveType(TypeRegistry.DateTimeArrayAliasVB));
 }
コード例 #29
0
 public void ResolveTypeWithNullAliasArg()
 {
     Assert.Throws <ArgumentNullException>(() => TypeRegistry.ResolveType(null));
 }
コード例 #30
0
 public void ResolveVBDoubleArray()
 {
     Assert.AreEqual(typeof(double[]),
                     TypeRegistry.ResolveType(TypeRegistry.DoubleArrayAliasVB));
 }