Unity 6.3
0 онлайн 62 гостей 3 в системе
Вход

RequiredInterfaceAttribute

класс в UnityEngine.Scripting

Выполнено в:UnityEngine.CoreModule

Описание

Когда тип помечен, помечаются все реализации интерфейсов указанных типов.

using System;
using UnityEngine;
using UnityEngine.Scripting;

public class NewBehaviourScript : MonoBehaviour { void Start() { new Foo(); new Bar(); new Jar(); new GenericFoo<int>(); } }

interface IUnused {}

interface IFoo {}

interface IGeneric<T> {}

// Foo will retain IFoo. IUnused will be removed [RequiredInterface(typeof(IFoo))] class Foo : IFoo, IUnused {}

// Bar will retain IGeneric<int> and IGeneric<double>. IGeneric<string> will be removed [RequiredInterface(typeof(IGeneric<int>))] [RequiredInterface(typeof(IGeneric<double>))] class Bar : IGeneric<int>, IGeneric<string>, IGeneric<double> {}

// Jar will retain IGeneric<int>, IGeneric<string>, and IGeneric<double> [RequiredInterface(typeof(IGeneric<>))] class Jar : IGeneric<int>, IGeneric<string>, IGeneric<double> {}

// GenericFoo<T> will retain IGeneric<T> [RequiredInterface(typeof(IGeneric<>))] class GenericFoo<T> : IGeneric<T> {}