本文整理汇总了C#中ITerminal.Write方法的典型用法代码示例。如果您正苦于以下问题:C# ITerminal.Write方法的具体用法?C# ITerminal.Write怎么用?C# ITerminal.Write使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITerminal
的用法示例。
在下文中一共展示了ITerminal.Write方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DisplayTcpServerInfo
private void DisplayTcpServerInfo(TcpServer server, ITerminal output)
{
this.DisplayListenerInfo(server, output);
if(!server.IsListening)
return;
output.WriteLine();
output.Write(TerminalColor.DarkMagenta, "ID\t");
output.Write(TerminalColor.DarkMagenta, ResourceUtility.GetString("${LastReceivedTime}") + "\t\t");
output.Write(TerminalColor.DarkMagenta, ResourceUtility.GetString("${LastSendTime}") + "\t\t");
output.Write(TerminalColor.DarkMagenta, ResourceUtility.GetString("${LocalEndPoint}") + "\t\t");
output.WriteLine(TerminalColor.DarkMagenta, ResourceUtility.GetString("${RemoteEndPoint}") + "\t");
var channels = server.ChannelManager.GetActivedChannels();
foreach(TcpServerChannel channel in channels)
{
if(channel == this.Channel)
output.Write(TerminalColor.Magenta, "* ");
output.WriteLine(
"{0}\t{1:yyyy-MM-dd HH:mm:ss}\t{2:yyyy-MM-dd HH:mm:ss}\t{3}\t\t{4}",
channel.ChannelId,
channel.LastReceivedTime,
channel.LastSendTime,
channel.LocalEndPoint,
channel.RemoteEndPoint);
}
output.WriteLine();
}
示例2: WritePluginNode
public static void WritePluginNode(ITerminal terminal, PluginTreeNode node, ObtainMode obtainMode, int maxDepth)
{
if(node == null)
return;
terminal.Write(TerminalColor.DarkYellow, "[{0}]", node.NodeType);
terminal.WriteLine(node.FullPath);
terminal.Write(TerminalColor.DarkYellow, "Plugin File: ");
if(node.Plugin == null)
terminal.WriteLine(TerminalColor.Red, "N/A");
else
terminal.WriteLine(node.Plugin.FilePath);
terminal.Write(TerminalColor.DarkYellow, "Node Properties: ");
terminal.WriteLine(node.Properties.Count);
if(node.Properties.Count > 0)
{
terminal.WriteLine(TerminalColor.Gray, "{");
foreach(PluginExtendedProperty property in node.Properties)
{
terminal.Write(TerminalColor.DarkYellow, "\t" + property.Name);
terminal.Write(" = ");
terminal.Write(property.RawValue);
if(property.Value != null)
{
terminal.Write(TerminalColor.DarkGray, " [");
terminal.Write(TerminalColor.Blue, property.Value.GetType().FullName);
terminal.Write(TerminalColor.DarkGray, "]");
}
terminal.WriteLine();
}
terminal.WriteLine(TerminalColor.Gray, "}");
}
terminal.WriteLine(TerminalColor.DarkYellow, "Children: {0}", node.Children.Count);
if(node.Children.Count > 0)
{
terminal.WriteLine();
foreach(var child in node.Children)
{
terminal.WriteLine(child);
}
}
object value = node.UnwrapValue(obtainMode, null);
if(value != null)
{
terminal.WriteLine();
Zongsoft.Runtime.Serialization.Serializer.Text.Serialize(terminal.OutputStream, value);
}
}
示例3: DisplayServerState
private void DisplayServerState(ITerminal output, ServerState state)
{
var entry = EnumUtility.GetEnumEntry(state);
if(this.Server.Disabled)
{
output.Write(TerminalColor.DarkMagenta, ResourceUtility.GetString("${Text.WorkerState.Disabled}"));
return;
}
switch(state)
{
case ServerState.Running:
output.Write(TerminalColor.Green, ResourceUtility.GetString(entry.Description));
break;
case ServerState.Paused:
output.Write(TerminalColor.Gray, ResourceUtility.GetString(entry.Description));
break;
case ServerState.Stopped:
output.Write(TerminalColor.Red, ResourceUtility.GetString(entry.Description));
break;
default:
output.Write(ResourceUtility.GetString(entry.Description));
break;
}
}
示例4: DisplayListenerInfo
private void DisplayListenerInfo(IListener listener, ITerminal output)
{
if(listener is Zongsoft.Communication.Net.TcpServer)
{
output.Write(TerminalColor.DarkYellow, ResourceUtility.GetString("${ListenAddress}") + ": ");
output.Write("{0}", ((Zongsoft.Communication.Net.TcpServer)listener).Address);
}
output.Write(TerminalColor.DarkGray, " [");
if(listener.IsListening)
output.Write(TerminalColor.Green, ResourceUtility.GetString("${Listening}"));
else
output.Write(TerminalColor.Red, ResourceUtility.GetString("${Stopped}"));
output.Write(TerminalColor.DarkGray, "]");
if(listener is IWorker && ((IWorker)listener).Disabled)
output.WriteLine(TerminalColor.DarkMagenta, "({0})", ResourceUtility.GetString("${Disabled}"));
else
output.WriteLine();
}
示例5: DisplayCommandInfo
internal static void DisplayCommandInfo(ITerminal terminal, ICommand command)
{
if(terminal == null || command == null)
return;
DisplayNameAttribute displayName = (DisplayNameAttribute)TypeDescriptor.GetAttributes(command)[typeof(DisplayNameAttribute)];
DescriptionAttribute description = (DescriptionAttribute)TypeDescriptor.GetAttributes(command)[typeof(DescriptionAttribute)];
terminal.Write(TerminalColor.Blue, command.Name + " ");
if(!command.Enabled)
terminal.Write(TerminalColor.DarkGray, "({0})", ResourceUtility.GetString("${Disabled}"));
if(displayName == null || string.IsNullOrWhiteSpace(displayName.DisplayName))
terminal.Write(ResourceUtility.GetString("${Command}"));
else
terminal.Write(ResourceUtility.GetString(displayName.DisplayName, command.GetType().Assembly));
CommandOptionAttribute[] optionAttributes = (CommandOptionAttribute[])command.GetType().GetCustomAttributes(typeof(CommandOptionAttribute), true);
if(optionAttributes != null && optionAttributes.Length > 0)
{
terminal.WriteLine("," + ResourceUtility.GetString("${CommandUsages}"), optionAttributes.Length);
terminal.WriteLine();
string commandName = command.Name;
terminal.Write(TerminalColor.Blue, commandName + " ");
foreach(var optionAttribute in optionAttributes)
{
if(optionAttribute.Required)
{
terminal.Write("<-");
terminal.Write(TerminalColor.DarkYellow, optionAttribute.Name);
terminal.Write("> ");
}
else
{
terminal.Write("[-");
terminal.Write(TerminalColor.DarkYellow, optionAttribute.Name);
terminal.Write("] ");
}
}
terminal.WriteLine();
int maxOptionLength = GetMaxOptionLength(optionAttributes) + 2;
foreach(var optionAttribute in optionAttributes)
{
int optionPadding = maxOptionLength - optionAttribute.Name.Length;
terminal.Write("\t-");
terminal.Write(TerminalColor.DarkYellow, optionAttribute.Name);
if(optionAttribute.Type != null)
{
terminal.Write(":");
terminal.Write(TerminalColor.Magenta, GetSimpleTypeName(optionAttribute.Type));
optionPadding -= (GetSimpleTypeName(optionAttribute.Type).Length + 1);
}
terminal.Write(" (".PadLeft(optionPadding));
if(optionAttribute.Required)
terminal.Write(TerminalColor.DarkRed, ResourceUtility.GetString("${Required}"));
else
terminal.Write(TerminalColor.DarkGreen, ResourceUtility.GetString("${Optional}"));
terminal.Write(") ");
if(!string.IsNullOrWhiteSpace(optionAttribute.Description))
terminal.Write(ResourceUtility.GetString(optionAttribute.Description, command.GetType().Assembly));
if(optionAttribute.Type != null && optionAttribute.Type.IsEnum)
{
var entries = Zongsoft.Common.EnumUtility.GetEnumEntries(optionAttribute.Type, false);
var maxEnumLength = entries.Max(entry => string.IsNullOrWhiteSpace(entry.Alias) ? entry.Name.Length : entry.Name.Length + entry.Alias.Length + 2);
foreach(var entry in entries)
{
var enumPadding = maxEnumLength - entry.Name.Length;
terminal.WriteLine();
terminal.Write("\t".PadRight(optionAttribute.Name.Length + 3));
terminal.Write(TerminalColor.DarkMagenta, entry.Name.ToLowerInvariant());
if(!string.IsNullOrWhiteSpace(entry.Alias))
{
terminal.Write(TerminalColor.DarkGray, "(");
terminal.Write(TerminalColor.DarkMagenta, entry.Alias);
terminal.Write(TerminalColor.DarkGray, ")");
enumPadding -= entry.Alias.Length + 2;
}
if(!string.IsNullOrWhiteSpace(entry.Description))
terminal.Write(new string(' ', enumPadding + 1) + entry.Description);
}
//.........这里部分代码省略.........