정적 메인 메소드를 백엔드 코드와 잘 연동시키는 데 문제가 있습니다.정적 메인 메소드로 비 정적 코드 사용하기
다음public interface ITicketGenerationService
{
string CreateTicket(DateTime begin, DateTime end);
}
public class TicketGenerationService : ITicketGenerationService
{
public static IRepository<Ticket> Repository { get; set; }
public TicketGenerationService(IRepository<Ticket> repository)
{
Repository = repository;
}
public string CreateTicket(DateTime begin, DateTime end)
{
//do stuff with Repository
//return status string to Main method
}
}
내 콘솔 응용 프로그램이 시작되는 것 : 내가 정적에 CreateTicket을 변경하는 경우
An object reference is required for the non-static field, method, or property 'TicketMain.TicketGenerationService'
:
public class TicketMain
{
public ITicketGenerationService TicketGenerationService { get; set; }
static void Main(string[] args)
{
var priorityOneTickets = TicketGenerationService.CreateTicket(begin, end);
}
}
그래서 나는 처음에이 오류가 여기에
은 백엔드 물건 다른 오류가 발생합니다.TicketGenerationService does not implment interface member ITicketGenerationService.CreateTicket(DateTime, DateTime). ITicketGenerationService.CreateTicket(DateTime, DateTime) cannot implement an interface member because it is static.
나는이를 추가하려고하면: 주요 방법
var ticketingService = new TicketGenerationService();
, 내 의존성 주입 (autofac)와 그 뜻에 혼란을 두려워 해요.
오류를 이해하지만 모든 것을 정적으로 만들 수는 없으며 인스턴스화를 시작하면 종속성 삽입을 통해 얻을 수있는 모든 데이터가 손실됩니다.
어딘가에 있습니까?
감사합니다.