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 using Xunit; 6 7 namespace System.Reflection.Emit.Tests 8 { 9 public class MethodBuilderGetGenericMethodDefinition 10 { 11 [Fact] GetGenericMethodDefinition()12 public void GetGenericMethodDefinition() 13 { 14 TypeBuilder type = Helpers.DynamicType(TypeAttributes.Abstract); 15 MethodBuilder method = type.DefineMethod("TestMethod", MethodAttributes.Public); 16 method.DefineGenericParameters("T", "U"); 17 Assert.True(method.GetGenericMethodDefinition().Equals(method)); 18 } 19 20 [Fact] GetGenericMethodDefinition_NonGenericMethod_ThrowsInvalidOperationException()21 public void GetGenericMethodDefinition_NonGenericMethod_ThrowsInvalidOperationException() 22 { 23 TypeBuilder type = Helpers.DynamicType(TypeAttributes.Abstract); 24 MethodBuilder method = type.DefineMethod("TestMethod", MethodAttributes.Public); 25 26 Assert.Throws<InvalidOperationException>(() => method.GetGenericMethodDefinition()); 27 } 28 } 29 } 30