handlesclause.cs

来自「全功能c#编译器」· CS 代码 · 共 79 行

CS
79
字号
using System;
using System.Diagnostics;
using System.Collections;

namespace ICSharpCode.CsVbRefactory.Parser.AST
{
	public class HandlesClause : AbstractNode, INullable
	{
		protected ArrayList eventNames = new ArrayList(1);
		
		public HandlesClause()
		{
			this.eventNames = new ArrayList();
		}
		
		public ArrayList EventNames {
			get {
				return eventNames;
			}
			set {
				Debug.Assert(value != null);
				eventNames = value;
			}
		}
		
		public static NullHandlesClause Null {
			get {
				return NullHandlesClause.Instance;
			}
		}
		
		public virtual bool IsNull {
			get {
				return false;
			}
		}
		
		public override object AcceptVisitor(IASTVisitor visitor, object data)
		{
			return visitor.Visit(this, data);
		}
		
		public override string ToString()
		{
			return String.Format("[HandlesClause: EventNames = {0}]",
			                     GetCollectionString(EventNames));
		}
	}
	public class NullHandlesClause : HandlesClause
	{
		static NullHandlesClause nullHandlesClause = new NullHandlesClause();
		
		public override bool IsNull {
			get {
				return true;
			}
		}
		
		public override object AcceptVisitor(IASTVisitor visitor, object data)
		{
			return data;
		}
		public static NullHandlesClause Instance
		{
			get {
				return nullHandlesClause;
			}
		}
		NullHandlesClause()
		{
			eventNames = new ArrayList(1);
		}
		public override string ToString()
		{
			return String.Format("[NullHandlesClause]");
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?