Я создал проект C# типа - библиотека классов . После чего, создал в нем файл с классом и попытался унаследоваться от класса ICloneable. VisualStudio 2017 подчеркнула имя ICloneable, указав на то что есть ошибка. В предложенных VisualStudio решениях данной проблемы предлагается самому создать данный интерфейс.
Другими словами интерфейс ICloneable недоступен/не создан.
В документации говорится что данный класс доступен по умолчанию в пространстве имен - using System; Но по факту для проекта типа - библиотека классов, это правило не работает. Поскольку пространство имен "System" подключено к моему файлу.
Ради интереса, я создал консольный проект и попытался в нем унаследоваться от интерфейса ICloneable. В итоге, в данном типе проекта интерфейс был доступен и все прекрасно работало. Выходит что вся загвоздка в типе созданного проекта.
Как получить доступ к интерфейсу ICloneable в проекте типа - библиотека классов?
Мой код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace UrlBuilder.Url.Sections.ProductModels.Transport.Cars
{
public class Class1 : ICloneable
{
public Class1 Clone()
{
return new Class1();
}
}
}
Как видите в VisualStudio 2017 этот код вызывает ошибку:
Ответ
В проектах UWP интерфейс ICloneable появился с поддержкой .NET Standard 2.0, начиная с версии Windows 10 Fall Creators Update (10.0, Build 16299).
Для того, чтобы ICloneable появился - указать Min Version 16299, или при создании нового проекта, или в свойствах для уже существующего.
Комментариев нет:
Отправить комментарий