There are bits unfinished about this in our type system. For example, we have the
TypeArray and
TypeCollection classes and a specialization of TypeOf<> for static arrays.
////////////////////////////////////////////////////////////////////////////////////////////////////
/// TypeOfHelper for static arrays
////////////////////////////////////////////////////////////////////////////////////////////////////
template<class T, uint32_t N> struct TypeOfHelper<T[N]>: public TypeOfHelperBase<T[N], TypeArray>
{
static Symbol GetName()
{
char str[256];
snprintf(str, 256, "%s[%d]", TypeOf<T>()->GetName(), N);
return Symbol(str);
}
static void Fill(Type* type)
{
TypeArray* typeArray = (TypeArray*)(type);
typeArray->SetElemCount(N);
typeArray->SetElemSize(sizeof(T));
typeArray->SetElemType(TypeOf<T>());
}
};
So static arrays of Noesis::String should work. This could be extended also to support Noesis::Vector and std::vector. If this is important to you, please create a ticket for it.
The alternative right now, less efficient, is having an ObservableCollection of Strings.