internal DynamicSymbol(IValueSymbol symbol) { if (symbol == null) { throw new ArgumentNullException("symbol"); } this.symbol = symbol; }
internal static bool TryGetIndex(DynamicSymbol symbol, IArrayType arrayType, GetIndexBinder binder, object[] indexes, out object result) { int[] indices = new int[indexes.GetLength(0)]; for (int i = 0; i < indexes.GetLength(0); i++) { indices[i] = (int)indexes[i]; } ArrayType.CheckIndices(indices, arrayType, false); result = symbol.SubSymbols[ArrayType.GetElementPosition(indices, arrayType)]; return(true); }
public override bool Equals(object obj) { if (obj == null) { return(false); } if (base.GetType() != obj.GetType()) { return(false); } DynamicSymbol symbol = (DynamicSymbol)obj; return(this.symbol.Equals(symbol.symbol)); }