An alternative way is to launch an external tool or app like viewer. For example, in Windows you can use VIM app to open a cs file in read-only and no modification mode:
"C:\Program Files\Vim\vim72\gvim.exe" -R -M C:\test\MyClass.cs
Here are some codes to launch the tool:
public static int StartViewer(string file)
{
string parameters = string.Format("-R -M {0}", file);
ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
psi.FileName = "C:\Program Files\Vim\vim72\gvim.exe";
psi.Arguments = parameters;
Process p = Process.Start(psi);
p.WaitForExit();
return p.ExitCode;
}
I think VIM has CS syntax colorizer, or you can find some better one. It is free and has great search feature. However, VIM may not be good for none-VIM users. This is just an example. You can use other tools if you like to leverage other app strength.