- Home /
Declaring List variable for subclasses with baseclass or without type?
Hey folks,
I'm trying to find a way to declare a variable that I can save a list of one of a number of subclasses of the baseclass.
I asked a question earlier regarding something similar where you can pass a list parameter (http://answers.unity3d.com/questions/1254397/passing-unknown-parameter-type-and-class-inheritan.html) - however I can't figure out if it's possible to declare a List variable with an unknown type until runtime?
I thought i could save it as it's baseclass so I've tried using:
public List<BaseClass> currentList;
public void storeList(){
currentList = (a variable with List<SubClass>);
}
But I get a 'cannot implicitly convert' error.
I've also tried using 'object':
public List<object> currentList;
public void storeList(){
currentList = (a variable with List<SubClass>);
}
but same error.
Any help will be gratefully received! :)
Answer by Gothic_Anatomist · Oct 16, 2016 at 09:23 AM
I figured out at least part of this question. In order to save the SubClass List into a variable List of BaseClass, I had to add them to the BaseClass - not just convert them.
public void loadStuff<T>(List<T> subClassList) where T : BaseClass
{
foreach (SubClass s in subClassList )
{
currentList.Add(s);
}
}
Your answer
Follow this Question
Related Questions
A node in a childnode? 1 Answer
Sorting Variables Help 1 Answer
Declaring a variable in Start funciton 3 Answers
Custom variable declared in JS, that isn't in plugins. 1 Answer
class List adding to variables are assigning not adding 1 Answer