Интерфейс Не содержит определения МЕТОДА, и не удалось найти расширение МЕТОДА, принимающее первый аргумент типа ИНТЕРФЕC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Интерфейс Не содержит определения МЕТОДА, и не удалось найти расширение МЕТОДА, принимающее первый аргумент типа ИНТЕРФЕ

Сообщение Anonymous »

Я создал интерфейс IBrowserWrapper и класс BrowserWrapper, реализующий этот интерфейс

Код: Выделить всё

public class BrowserWrapper : IBrowserWrapper
{
private readonly IBrowser _browser;
private readonly IPage _page;
private readonly IBrowserContext _context;
private readonly TracingManager _tracingManager;

public IPage Page => _page;

private BrowserWrapper(IBrowser browser, IBrowserContext context, IPage page, TracingManager tracingManager)
{
_browser = browser;
_context = context;
_page = page;
_tracingManager = tracingManager;
}

public static async Task CreateAsync(IConfiguration configuration)
{
var browserName = configuration["Browser:Name"];
var headless = bool.Parse(configuration["Browser:Headless"]);
var incognito = bool.Parse(configuration["Browser:Incognito"]);
var viewportWidth = int.Parse(configuration["Browser:ViewportWidth"]);
var viewportHeight = int.Parse(configuration["Browser:ViewportHeight"]);
var slowMo = int.Parse(configuration["Browser:SlowMo"]);
var tracingEnabled = bool.Parse(configuration["Browser:Tracing"]);

var playwright = await Playwright.CreateAsync();
IBrowser browser;

if (browserName.ToLower() == "firefox")
{
browser = await playwright.Firefox.LaunchAsync(new BrowserTypeLaunchOptions { Headless = headless, SlowMo = slowMo });
}
else if (browserName.ToLower() == "webkit")
{
browser = await playwright.Webkit.LaunchAsync(new BrowserTypeLaunchOptions { Headless = headless, SlowMo = slowMo });
}
else
{
browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions { Headless = headless, SlowMo = slowMo });
}

var contextOptions = new BrowserNewContextOptions
{
ViewportSize = new ViewportSize
{
Width = viewportWidth,
Height = viewportHeight
}
};

var context = incognito ? await browser.NewContextAsync(contextOptions) : await browser.NewContextAsync();
var tracingManager = new TracingManager(context, tracingEnabled);

if (tracingEnabled)
{
await tracingManager.StartTracingAsync();
}

var page = await context.NewPageAsync();

return new BrowserWrapper(browser, context, page, tracingManager);
}
}
Я даже создал файл BaseTest.cs со строкой ниже

Код: Выделить всё

public class BaseTest
{
protected IConfiguration Configuration { get; private set; }
protected IBrowserWrapper BrowserWrapper { get; private set; }

[SetUp]
public async Task SetUp()
{
// Load configuration
Configuration = ConfigurationLoader.LoadConfiguration();
// Initialize the browser and page
BrowserWrapper = await BrowserWrapper.CreateAsync(Configuration);
}
}
В строке BrowserWrapper = await BrowserWrapper.CreateAsync(Configuration); в BaseTest я получаю следующую ошибку: CS1061 «IBrowserWrapper» не содержит определение для «CreateAsync» и не найден доступный метод расширения «CreateAsync», принимающий первый аргумент типа «IBrowserWrapper» (вам не хватает директивы using или ссылки на сборку?)
Что я здесь делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/788 ... thod-accep
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»