Code: Select all
using System;
using UnityEngine;
[Serializable]
public class TestMono :MonoBehaviour
{
public AbsMessage child;
}
[Serializable]
public abstract class AbsMessage
{
public AbsMessage() { }
public abstract int Msg { get; set; }
}
[Serializable]
public class Message : AbsMessage
{
public Message() : base() { }
public override int Msg { get => _msg; set => _msg = value; }
private int _msg;
}
Error:
MissingMethodException: Cannot create an abstract class 'AbsMessage'.
System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.RuntimeType.CreateInstanceSlow (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.RuntimeType.CreateInstanceDefaultCtor (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.Activator.CreateInstance (System.Type type) (at <695d1cc93cca45069c528c15c9fdd749>:0)
ES3Internal.ES3Reflection.CreateInstance (System.Type type) (at Assets/Plugins/Easy Save 3/Scripts/ES3Reflection.cs:254)