/// <summary> /// Returns an instance of the type, optionally through the container if it is supported. /// </summary> /// <param name="type"></param> /// <param name="resolver"></param> /// <returns></returns> protected static object CreateInstance(IType type, IDependencyResolver resolver) { var typeForResolver = type as IResolverAwareType; return(resolver == null || typeForResolver == null ? type.CreateInstance() : typeForResolver.CreateInstance(resolver)); }
public void Cannot_cast_to_a_real_type() { IType testing = BuildRoutine.VirtualType().FromBasic() .DefaultInstanceId.Set("Id") .Name.Set("Virtual") .Namespace.Set("Routine") ; Assert.Throws <InvalidCastException>(() => testing.Cast(testing.CreateInstance(), type.of <string>())); }
public void Creates_virtual_object() { IType testing = BuildRoutine.VirtualType().FromBasic() .DefaultInstanceId.Set("default") ; var actual = testing.CreateInstance(); Assert.IsInstanceOf <VirtualObject>(actual); Assert.AreEqual("default", ((VirtualObject)actual).Id); }
public void Casts_a_virtual_object_to_object() { IType testing = BuildRoutine.VirtualType().FromBasic() .DefaultInstanceId.Set("Id") .Name.Set("Virtual") .Namespace.Set("Routine") ; var instance = testing.CreateInstance(); Assert.AreSame(instance, testing.Cast(instance, type.of <object>())); }
public void By_default__to_string_returns_Id_and_virtual_type_name() { IType testing = BuildRoutine.VirtualType().FromBasic() .DefaultInstanceId.Set("default") .Namespace.Set("Namespace") .Name.Set("Name") ; var actual = testing.CreateInstance(); Assert.AreEqual("default (Namespace.Name)", actual.ToString()); }
public void Cannot_cast_to_a_virtual_type_that_is_not_in_assignable_types() { var virtualInterface = BuildRoutine.VirtualType().FromBasic() .Name.Set("IVirtual") .Namespace.Set("Routine") .IsInterface.Set(true); IType testing = BuildRoutine.VirtualType().FromBasic() .DefaultInstanceId.Set("Id") .Name.Set("Virtual") .Namespace.Set("Routine") ; Assert.Throws <InvalidCastException>(() => testing.Cast(testing.CreateInstance(), virtualInterface)); }
public void Casts_a_virtual_object_to_its_assignable_type() { var virtualInterface = BuildRoutine.VirtualType().FromBasic() .Name.Set("IVirtual") .Namespace.Set("Routine") .IsInterface.Set(true); IType testing = BuildRoutine.VirtualType().FromBasic() .DefaultInstanceId.Set("Id") .Name.Set("Virtual") .Namespace.Set("Routine") .AssignableTypes.Add(virtualInterface) ; var instance = testing.CreateInstance(); Assert.AreSame(instance, testing.Cast(instance, virtualInterface)); }
} // Find public bool CreateValue(string sName, bool bIsNullable, string sValue, string sHint, out object oResult) { IType oType = Find(sName, bIsNullable, sHint); if (oType == null) { oResult = null; return(false); } // if try { oResult = oType.CreateInstance(sValue); return(true); } catch (Exception e) { m_oLog.Alert(e, "Failed to create a value from name '{0}', is nullable {1}, hint '{2}', data '{3}'.", sName, bIsNullable, sHint, sValue); } // try oResult = null; return(false); } // CreateValue
/// <summary> /// Returns an instance of the type, optionally through the container if it is supported. /// </summary> /// <param name="type"></param> /// <param name="resolver"></param> /// <returns></returns> protected static object CreateInstance(IType type, IDependencyResolver resolver) { return(resolver == null || !(type is IResolverAwareType typeForResolver) ? type.CreateInstance() : typeForResolver.CreateInstance(resolver)); }
public object CreateInstance() { return(_wrappedType.CreateInstance()); }
public object ReadFrom(IHttpEntity request, IType type, string paramName) { return(type.CreateInstance()); }
public object ReadFrom(IHttpEntity request, IType type, string paramName) { return type.CreateInstance(); }