1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
4 
5 //Internal.Runtime.Augments
6 //-------------------------------------------------
7 //  Why does this exist?:
8 //    Reflection.Execution cannot physically live in System.Private.CoreLib.dll
9 //    as it has a dependency on System.Reflection.Metadata. Its inherently
10 //    low-level nature means, however, it is closely tied to System.Private.CoreLib.dll.
11 //    This contract provides the two-communication between those two .dll's.
12 //
13 //
14 //  Implemented by:
15 //    System.Private.CoreLib.dll
16 //
17 //  Consumed by:
18 //    Reflection.Execution.dll
19 
20 using System;
21 
22 namespace Internal.Runtime.Augments
23 {
24     public static class DynamicDelegateAugments
25     {
26         //
27         // Helper to create a interpreted delegate for LINQ and DLR expression trees
28         //
CreateObjectArrayDelegate(Type delegateType, Func<object[], object> invoker)29         public static Delegate CreateObjectArrayDelegate(Type delegateType, Func<object[], object> invoker)
30         {
31             return Delegate.CreateObjectArrayDelegate(delegateType, invoker);
32         }
33     }
34 }
35