summaryrefslogtreecommitdiff
path: root/src/StardewModdingAPI/Reflection/IPrivateMethod.cs
blob: 4790303bbc99adb210e2065e80b1d10b4a330177 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System.Reflection;

namespace StardewModdingAPI.Reflection
{
    /// <summary>A private method obtained through reflection.</summary>
    public interface IPrivateMethod
    {
        /*********
        ** Accessors
        *********/
        /// <summary>The reflection metadata.</summary>
        MethodInfo MethodInfo { get; }


        /*********
        ** Public methods
        *********/
        /// <summary>Invoke the method.</summary>
        /// <typeparam name="TValue">The return type.</typeparam>
        /// <param name="arguments">The method arguments to pass in.</param>
        TValue Invoke<TValue>(params object[] arguments);

        /// <summary>Invoke the method.</summary>
        /// <param name="arguments">The method arguments to pass in.</param>
        void Invoke(params object[] arguments);
    }
}