コード例 #1
0
ファイル: ExtensionsProvider.cs プロジェクト: jahau/Uno.Core
        public static TService Get <TService, TConcrete>()
            where TConcrete : TService, new()
            where TService : class
        {
            var service = ServiceLocator.IsLocationProviderSet ? ServiceLocator.Current.GetInstance <TService>() : null;

            if (service == null)
            {
                service = new TConcrete();
            }

            return(service);
        }
コード例 #2
0
        public static TService Get <TService, TConcrete>()
            where TConcrete : TService, new()
        {
            var service = ServiceLocator.Instance.TryResolve <TService>();

            // TODO: service might not be null
            if (service == null)
            {
                service = new TConcrete();
            }

            return(service);
        }
コード例 #3
0
        protected TInterface Transform <TInterface, TConcrete>()
            where TInterface : IStatement
            where TConcrete : Statement, TInterface, new()
        {
            var concrete = new TConcrete();

            //TODO: Refactor this - transfering object state like this is *UGLY*
            concrete.AddParameters(_parameters.Values);
            concrete.AppendWord(_text.ToString());
            concrete._listMode          = _listMode;
            concrete._hasParentheses    = _hasParentheses;
            concrete._subListMode       = _subListMode;
            concrete._hasSubParentheses = _hasSubParentheses;

            return(concrete);
        }