You haven't really provided enough context on what lines are erroring but from the looking at the code I can see you're not using arrays correctly. When you declare an array, all elements of that array will be uninitialized, so you need to initialize each element before using them.
ManifestItem[] Main = new ManifestItem[1];
Main[0].Description = "DEscription";
The issue is here, you're trying to change the content of the element at
Main[0]
but this is going to be null. You need to initialize it like so:
ManifestItem[] Main = new ManifestItem[1];
Main[0] = new ManifestItem(); <---
Main[0].Description = "DEscription";
And you need to apply the same logic for all of the arrays in the code. Just declaring an array doesn't create each of the elements in the array, each element needs it's own
new
call.