Страницы

Поиск по вопросам

пятница, 12 июля 2019 г.

Как получить доступ к интерфейсу ICloneable в проекте типа - библиотека классов?

Я создал проект 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, или при создании нового проекта, или в свойствах для уже существующего.

Комментариев нет:

Отправить комментарий