Я использую следующие в начале всех модулей в моем проекте Python:
import setup_loggers
Setup_Loggers
- это модуль, который имеет значение. Оператор Import
Увеличивается, что независимо от того, какой модуль сначала загружен, регистраторы настроены и готовы.
Однако, как я не использую Setup_Loggers
модуль позже в файле, я получаю предупреждение Pydev (маленький желтый маркер). Я получаю это предупреждение для всех моих модулей, поэтому он блокирует меня, увидев другие предупреждения в Pydev Package Explorer.
Есть ли способ подавить предупреждение для конкретной линии (Import
, строка выше) в Пыдеве?
Любые другие идеи о том, как преодолеть это раздражение?
Я в настоящее время начинаю с разработки нового приложения WPF, где я использую Unity в качестве контейнера , На данный момент я делаю di, как это в app.xaml.cs
protected override void OnStartup(StartupEventArgs e)
{
var container = new UnityContainer();
UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity");
container = (UnityContainer)section.Configure(container);
WPFUnityContainer.Instance = container;
var mainwindow = new MainWindow();
var mainmodel = container.Resolve<ViewModel.MainWindowViewModel>();
mainwindow.DataContext = mainmodel;
mainwindow.Show();
base.OnStartup(e);
}
CTR MainWindowViewModel выглядит так:
public MainWindowViewModel(IUserRepository userRepository, IGroupRepository groupRepository)
{
this._ManagementWorkSpaces = new ObservableCollection<WorkspaceViewModel>();
this._ManagementWorkSpaces.Add(new ManageApplicationsViewModel());
this._ManagementWorkSpaces.Add(new ManageUserViewModel(userRepository, groupRepository));
}
Теперь давайте посмотрим на ManageUseviewModel:
public ManageUserViewModel(IUserRepository userRepository, IGroupRepository groupRepository)
{...
this._ManageGroupsCommand = new DelegateCommand(() =>
{
LookupGroupDialogViewModel vm=new LookupGroupDialogViewModel(groupRepository);
View.LookupGroupDialogWindow vw=new View.LookupGroupDialogWindow();
ModalDialogService.Service.ShowDialog(vw, vm, returnedVM =>
{
if (returnedVM.SelectedGroup!=null)
this.SelectedUser.Groups.Add(returnedVM.SelectedGroup);
});
});
}
, как вы видите I ' m впрыскивая грузопозиторию только для того, чтобы пройти его на прозвежку. Я мог бы покинуть Igeropepository из CTR ManageUserviewModel и решить его прямо через контейнер, но я думаю, что нарушает принцип голливуда. Как я могу, в WPF, разрешаю все свои зависимости Так что контейнер называет меня? :)