Version: 2022.3
public string arrayElementType ;

描述

数组属性中元素的类型名称。(只读)

返回数组属性中元素的 C# 类型名称。如果存在 SerializedPropertyType.ObjectReference 以及 SerializedPropertyType 的其他内部值,则将返回内部序列化类型名称。

using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

public class SerializePropertyArrayElementTypeExample : ScriptableObject { // Various kinds of lists/arrays public List<string> m_strings; public int[] m_ints; public List<Vector3> m_vectors; public GameObject[] m_gameObjects;

[MenuItem("Example/SerializedProperty arrayElementType Example")] static void ArrayElementTypeExample() { var scriptableObject = ScriptableObject.CreateInstance<SerializePropertyArrayElementTypeExample>();

using (var serializedObject = new SerializedObject(scriptableObject)) { LogType(serializedObject, "m_strings"); LogType(serializedObject, "m_ints"); LogType(serializedObject, "m_vectors"); LogType(serializedObject, "m_gameObjects"); } }

static void LogType(SerializedObject serializedObject, string arrayFieldName) { var arrayType = serializedObject.FindProperty(arrayFieldName).arrayElementType; Debug.Log($"{arrayFieldName} array type: {arrayType}"); } }