バックエンドコードで静的メインメソッドをうまく動かすのに問題があります。スタティックメインメソッドで非スタティックコードを使用する
ここ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);
}
}
は、だから私は最初にこのエラーが発生します。ここ
は、バックエンドのものです、別のエラーが表示されます:私はこれを追加しようと:mainメソッドへ
var ticketingService = new TicketGenerationService();
は、私は私の依存性注入(autofac)とその意志の混乱怖いです。
私はエラーを理解していますが、すべてを静的にすることはできません。インスタンス化を開始すると、依存性注入によって得られるすべてのデータが失われてしまいます。
とにかくこの周辺にはありますか?
ありがとうございます!