New tests.
[mono.git] / mcs / class / dlr / Runtime / Microsoft.Scripting.Core / Actions / IInvokeOnGetBinder.cs
1 /* ****************************************************************************
2  *
3  * Copyright (c) Microsoft Corporation. 
4  *
5  * This source code is subject to terms and conditions of the Microsoft Public License. A 
6  * copy of the license can be found in the License.html file at the root of this distribution. If 
7  * you cannot locate the  Microsoft Public License, please send an email to 
8  * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
9  * by the terms of the Microsoft Public License.
10  *
11  * You must not remove this notice, or any other, from this software.
12  *
13  *
14  * ***************************************************************************/
15
16 namespace System.Dynamic {
17     /// <summary>
18     /// Represents information about a dynamic get member operation, indicating
19     /// if the get member should invoke properties when performing the get.
20     /// </summary>
21     public interface IInvokeOnGetBinder {
22         /// <summary>
23         /// Gets the value indicating if this GetMember should invoke properties
24         /// when performing the get. The default value when this interface is not present
25         /// is true.
26         /// </summary>
27         /// <remarks>
28         /// This property is used by some languages to get a better COM interop experience.
29         /// When the value is set to false, the dynamic COM object won't invoke the object
30         /// but will instead bind to the name, and return an object that can be invoked or
31         /// indexed later. This is useful for indexed properties and languages that don't
32         /// produce InvokeMember call sites.
33         /// </remarks>
34         bool InvokeOnGet { get; }
35     }
36 }