2017-07-05 23:24:38 +02:00
|
|
|
# Microsoft.CSharp.RuntimeBinder
|
|
|
|
|
|
|
|
``` diff
|
|
|
|
+namespace Microsoft.CSharp.RuntimeBinder {
|
|
|
|
+ public static class Binder {
|
|
|
|
+ public static CallSiteBinder BinaryOperation(CSharpBinderFlags flags, ExpressionType operation, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
|
|
|
|
+ public static CallSiteBinder Convert(CSharpBinderFlags flags, Type type, Type context);
|
|
|
|
+ public static CallSiteBinder GetIndex(CSharpBinderFlags flags, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
|
|
|
|
+ public static CallSiteBinder GetMember(CSharpBinderFlags flags, string name, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
|
|
|
|
+ public static CallSiteBinder Invoke(CSharpBinderFlags flags, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
|
|
|
|
+ public static CallSiteBinder InvokeConstructor(CSharpBinderFlags flags, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
|
|
|
|
+ public static CallSiteBinder InvokeMember(CSharpBinderFlags flags, string name, IEnumerable<Type> typeArguments, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
|
|
|
|
+ public static CallSiteBinder IsEvent(CSharpBinderFlags flags, string name, Type context);
|
|
|
|
+ public static CallSiteBinder SetIndex(CSharpBinderFlags flags, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
|
|
|
|
+ public static CallSiteBinder SetMember(CSharpBinderFlags flags, string name, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
|
|
|
|
+ public static CallSiteBinder UnaryOperation(CSharpBinderFlags flags, ExpressionType operation, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
|
|
|
|
+ }
|
|
|
|
+ public sealed class CSharpArgumentInfo {
|
|
|
|
+ public static CSharpArgumentInfo Create(CSharpArgumentInfoFlags flags, string name);
|
|
|
|
+ }
|
|
|
|
+ public enum CSharpArgumentInfoFlags {
|
|
|
|
+ Constant = 2,
|
|
|
|
+ IsOut = 16,
|
|
|
|
+ IsRef = 8,
|
|
|
|
+ IsStaticType = 32,
|
|
|
|
+ NamedArgument = 4,
|
|
|
|
+ None = 0,
|
|
|
|
+ UseCompileTimeType = 1,
|
|
|
|
+ }
|
|
|
|
+ public enum CSharpBinderFlags {
|
|
|
|
+ BinaryOperationLogical = 8,
|
|
|
|
+ CheckedContext = 1,
|
|
|
|
+ ConvertArrayIndex = 32,
|
|
|
|
+ ConvertExplicit = 16,
|
|
|
|
+ InvokeSimpleName = 2,
|
|
|
|
+ InvokeSpecialName = 4,
|
|
|
|
+ None = 0,
|
|
|
|
+ ResultDiscarded = 256,
|
|
|
|
+ ResultIndexed = 64,
|
|
|
|
+ ValueFromCompoundAssignment = 128,
|
|
|
|
+ }
|
|
|
|
+ public class RuntimeBinderException : Exception {
|
|
|
|
+ public RuntimeBinderException();
|
|
|
|
+ public RuntimeBinderException(string message);
|
|
|
|
+ public RuntimeBinderException(string message, Exception innerException);
|
|
|
|
+ }
|
|
|
|
+ public class RuntimeBinderInternalCompilerException : Exception {
|
|
|
|
+ public RuntimeBinderInternalCompilerException();
|
|
|
|
+ public RuntimeBinderInternalCompilerException(string message);
|
|
|
|
+ public RuntimeBinderInternalCompilerException(string message, Exception innerException);
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
```
|
|
|
|
|