private void CreateFromTaskSource() { if (TaskSource == null) { return; } var taskSourceType = TaskSource.GetType(); var taskType = taskSourceType.GenericTypeArguments[0]; if (taskType.IsGenericType) { var taskResultType = taskType.GenericTypeArguments[0]; var taskLoaderNotifierType = typeof(TaskLoaderNotifier <>).MakeGenericType(taskResultType); TaskLoaderNotifier = (ITaskLoaderNotifier)Activator.CreateInstance(taskLoaderNotifierType, TaskSource); return; } TaskLoaderNotifier = new TaskLoaderNotifier(TaskSource); }