Version: 2022.2

RequireDerivedAttribute

class in UnityEngine.Scripting

切换到手册

描述

When the type is marked, all types derived from that type will also be marked.

using System;
using UnityEngine;
using UnityEngine.Scripting;

public class NewBehaviourScript : MonoBehaviour { void Start() { new Foo(); } }

[RequireDerived] class Foo {}

// UnusedFoo is not used, however, it will survive managed code stripping due to Foo having the [RequireDerived] attribute. class UnusedFoo : Foo { // Note that unused members of UnusedFoo will still be removed by managed code stripping public static void UnusedMethod() {} }

// Bar is not used so it will be removed by managed code stripping [RequireDerived] class Bar {}

// Because Bar is not used, the [RequireDerived] attribute on Bar has no impact. UnusedBar will also be removed. class UnusedBar : Bar {}