Why not have something like this:
this (int[] data, string text, bool isMessage = false) {...}
Then, if you just pass in two parameters you treat it as a filename and
if you pass in a "true" for the third parameter, it's a message. It's
not quite what you're looking for, but it's simple and pretty clean.
Casey