Метод принимающий лист интерфейсов, не принимает лист класса, который его реализиует

Рейтинг: 0Ответов: 0Опубликовано: 09.03.2023
public class Inventory : MonoBehaviour
{
    [SerializeField] private List<AssetItem> Items;


    private void OnEnable()
    {
        Render( Items); // Ошибка CS1503 Аргумент 1: не удается преобразовать из 
                        //"System.Collections.Generic.List<AssetItem>" в "System.Collections.Generic.List<IItem>
    }

    private void Render(List<IItem> item)
    {
        
    }
}

Реализующий класс

public class AssetItem : ScriptableObject, IItem
{
    public string Name => _name;

    public Sprite Icon => _icon;

    [SerializeField] private string _name;
    [SerializeField] private Sprite _icon;
}

Интерфейс

public interface IItem
{
    public string Name { get; }
    public Sprite Icon { get;}
}

Ответы

Ответов пока нет.