Hermetes Geschrieben 30. Juni 2020 Melden Share Geschrieben 30. Juni 2020 Ich verstehe diesen Fehler nicht. *heul* Hat es was mit dem Attribut System.Serializable zu tun? Ich darf doch class mit structs verschachteln und überall diesen Attribut anhängen, oder geht es um was ganz anderes? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 1. Juli 2020 Melden Share Geschrieben 1. Juli 2020 So ohne Code wird's wie immer schwierig, zu helfen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Hermetes Geschrieben 1. Juli 2020 Autor Melden Share Geschrieben 1. Juli 2020 using UnityEngine; using Rod; namespace Rod { [System.Serializable] public struct MemberPerson { public Ident Ident; public Birthday Birthday; public Address Address; public Contact Contact; //public MemberSocialMedia SozialMedia; } } using UnityEngine; using Rod; namespace Rod { [System.Serializable] public struct Ident { public string Name; public string FamName; public string BirthName; public string academicTitle; public string royalityTitle; public float gender; public bool isOwner; } } using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; using Rod; public class CreateNewMember : MonoBehaviour { public TMP_InputField InputSurName; public TMP_InputField InputLastName; public bool isTyping; public enum state { person, commerce, noncommerce, culture } public state type; void Create() { Debug.Log("Created"); var table = MemberSystem.Instance.table; if (type == state.person) { Member newMember = new Member(); Debug.Log("Person erstellt"); newMember.MemberTypeID = 0; newMember.MemberGroupID = table.GroupID; newMember.Avatar.IconID = 111; newMember.Avatar.IconGroupID = 0; newMember.Name = InputSurName.text; newMember.FamName = InputLastName.text; if (DeclareToMemberList(newMember,0)) { table.FillTable(newMember.MemberGroupID,0); //table.questionEdit.StartQuestion(newMember); } } if (type == state.commerce) { using System.Collections.Generic; using UnityEngine; using System; using Rod; namespace Rod { [Serializable] public class Member : Master { // Ident public int memberID; public int MemberGroupID; public int MemberTypeID; public new string Name; public string FamName; public Avatar Avatar; public Ident Info; public Birthday BirthDay; public Address Address; public Contact Contact; public Note Note; //public MemberPerson PersonInfo; //public MemberFirm FirmInfo; //public MemberCulture CultureInfo; Sascha ist wieder da! Die Fehlermeldung sagt mir leider nicht wo das Problem ist. Kann jetzt auch nur Vermutungen aufstellen. Die Sache sieht bei mir so aus: Ich habe zwei Inputfields . Vorname und Nachname. Wenn beide Felder ausgefüllt sind und Return gedrückt wird, wird ein Objekt Member erstellt. Es sollte so aussehen (mittlerweile verändert) newMember.PersonInfo.Ident.Name = InputSurName.text; newMember.PersonInfo.identFamName = InputLastName.text; Wenn die PersonInfo eine class war , hat das nicht funktioniert. Ändere ich es zu einem Struct hat die Member Objekt Erstellung funktioniert. Aber hinterher konnte ich keine Variablen mehr überschreiben. Nun habe ich die diese Structs (Ident, Birthday, Address, Contact ) in die Member Class integriert , ganz ohne das Struct PersonInfo. Sowie die Variablen Name und FamName aus Ident herausgenommen. Jetzt funktioniert beides, die Objekt Erstellung sowie nachträgliche editieren von Variablen. Nun kommt mir gerade die Idee das ich noch nie einen Konstruktor für Member verwendet habe !!! Vielleicht hätte es ganz ohne Umstellung funktioniert. Trotzdem die Fehlermeldung habe ich bei jedem Unity Programm Start. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.