除了是关键字这一事实外new,您存储类型的代码应该可以正常工作。
但是,您的代码
Writer.Write(str);
是没有意义的。
该类Type没有方法Write(string)。
感觉就像你追求的是一个界面
public interface IWriter
{
public Write(string text);
}
public class Logger
{
public static IWriter Writer;
public static void SetWriter(IWriter newWriter)
{
Writer = newWriter;
}
public static void Write(string str)
{
Writer.Write(str);
}
}
这样,您可以将任何实现的类传递IWriter给SetWriter,例如
public class MyWriter : IWriter
{
public void Write(string text)
{
// Do something to "write" text
}
}
Logger.SetWriter(new MyWriter());