internal static CreationWay GetCreationWay(Type actualType, bool treatCollectionAsUserObject)
{
if (Helpers.CanBeCreatedWithDataOnly(actualType, treatCollectionAsUserObject))
{
return(CreationWay.Null);
}
if (!treatCollectionAsUserObject && CollectionMetaToken.IsCollection(actualType))
{
return(CreationWay.DefaultCtor);
}
if (typeof(ISpeciallySerializable).IsAssignableFrom(actualType))
{
return(CreationWay.DefaultCtor);
}
return(CreationWay.Uninitialized);
}