https://msdn.microsoft.com/en-us/library/system.console.out(v=vs.110).aspx表示Console.Out
的类型为TextWriter
。同样地,https://msdn.microsoft.com/en-us/library/system.console.in(v=vs.110).aspx表示Console.In
的类型为TextReader
。
但是,TextWriter
和TextReader
都是抽象类。所以他们不能直接拥有实例。
Console.Out
和Console.In
的哪些父类?
他们是具体的课程吗?
它们是TextWriter
和TextReader
的派生类吗?
感谢。
答案 0 :(得分:1)
Console.Out和Console.In的父类是什么?
这些是属性,而不是类型。它们旨在检索当前用于输入/输出的TextWriter
/ TextReader
个实例。
您可以使用SetIn
和SetOut
设置这些实例。显然,您需要一个具体类的实例,例如StreamReader
答案 1 :(得分:1)
只需运行程序并询问两者的运行时类型:
public static void Main(string[] args)
{
Console.WriteLine(Console.In.GetType().Name);
Console.WriteLine(Console.Out.GetType().Name);
}
无论打印出什么,这些都是您正在寻找的类型。我现在无法检查,但它们可能是internal
(甚至私有嵌套)类,它们派生出你提到的抽象类型。
答案 2 :(得分:1)
根据sourceof.net Console.Out
是一个简单的StreamWriter
http://referencesource.microsoft.com/mscorlib/system/console.cs.html#372
第372行。
Console.In
是StreamReader
。