If i wanted to build on this now and have say instead of one image property have 3 using different folders for images would i need to duplicate all the previous code but changing the strings etc or just parts of it ?
One idea could be that you use subfolders to ImagePlugin-folder.
For each subfolder create an object you have defined yourself e.g. internal class ImageContainer that contains the sub-folder-image-list, counter and folder-name properties/members. Add all of them to a global defined List<ImageContainer> ImageContainerList;
Loop over the ImageContainerList, construct property names: "#ImagePlugin." + current-foldername + ".1" and "#ImagePlugin." + current-foldername + ".2".
Maybe...
Edit:
Otherwise introduce some kind of configuration, pointing out folders an connect them to properties.