templete system for C#