请教论坛高手们类内定义一个static函数,函数名与类名相同,这函数的作用是什么,如下
public class test
{
        public static Dictionary<string,string> Patterns { get; private set; }        static test()
        {
            Patterns = new Dictionary<string, string>();
        }
}static test()
怎么理解这个函数,这函数什么时候执行,外部能否调用