版本: Unity 6 (6000.0)
语言英语
  • C#

RequiredInterfaceAttribute

UnityEngine.Scripting 中的类

/

实现于: UnityEngine.CoreModule

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提出的每个更改建议,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

当类型被标记时,指定类型的所有接口实现将被标记。

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> {}