Описание
Разрешено только для типов атрибутов. Если тип атрибута помечен, то также будут отмечены все CustomAttributes этого типа.
Обратите внимание, что Низкий и Средний управляемые уровни удаления не удаляют никакие пользовательские атрибуты.
using System;
using UnityEngine;
using UnityEngine.Scripting;
public class NewBehaviourScript : MonoBehaviour
{
void Start()
{
var f = new Foo();
foreach (var attr in f.GetType().CustomAttributes)
{
if (attr.AttributeType == typeof(TypeUsedAttribute))
{
Debug.Log(attr.AttributeType);
}
}
}
}
[TypeUsed] // Выживет, потому что используется TypeUsedAttribute
[Required] // Выживет, потому что RequiredAttribute имеет атрибут [RequireAttributeUsages]
[UnusedAndNotRequiredAttribute] // Считается действительным для удаления управляемого кода
class Foo
{
}
class TypeUsedAttribute : Attribute
{
}
[RequireAttributeUsages]
class RequiredAttribute : Attribute
{
}
class UnusedAndNotRequiredAttribute : Attribute
{
}