Update SessionBase.cs

Use of Fallback form has been missed in Session loading. Added now.
This commit is contained in:
FlorianDahn 2020-09-15 23:46:30 +02:00
parent 48b76a84be
commit 049b2081ec

View File

@ -1,6 +1,8 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Runtime.Serialization;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using TelegramBotBase.Args; using TelegramBotBase.Args;
@ -132,15 +134,18 @@ namespace TelegramBotBase
var form = t.GetConstructor(new Type[] { })?.Invoke(new object[] { }) as FormBase; var form = t.GetConstructor(new Type[] { })?.Invoke(new object[] { }) as FormBase;
//No default constructor //No default constructor, fallback
if (form == null) if (form == null)
{ {
form = Activator.CreateInstance(t) as FormBase; if (!statemachine.FallbackStateForm.IsSubclassOf(typeof(FormBase)))
if (form == null)
{
continue; continue;
}
form = statemachine.FallbackStateForm.GetConstructor(new Type[] { })?.Invoke(new object[] { }) as FormBase;
//Fallback failed, due missing default constructor
if (form == null)
continue;
} }