Hy我在我的prism应用程序中写了几个共享服务。 我现在正想要连锁我的服务。我想在另一项服务中使用这些服务。例如,我想使用mit Loggerservice不仅在我的ViewModel中记录错误,而且还在其他服务中记录错误。
这可能比现在更好吗?
现在我在我的ViewModels构造函数中请求这两个服务。 比我调用一个服务方法,并给它们作为参数的服务二的引用。
我认为在Prism中有更好的方法吗?!
由于
答案 0 :(得分:0)
一般情况下,您可以在其他服务中注册和重复使用服务。例如,您可以:
public interface ILogger
{
void Log(string message);
}
public interface IApiService
{
Task DoStuff();
}
public class ApiService : IApiService
{
ILogger _logger { get; }
public ApiService(ILogger logger)
{
_logger = logger
}
public Task DoStuff()
{
// Do DoStuff
_logger.Log("Some Message");
}
}
但是,您不应尝试在服务中使用INavigationService,因为NavigationService需要了解您导航的页面才能正常工作。