本文整理汇总了C#中Engine.GetMethods方法的典型用法代码示例。如果您正苦于以下问题:C# Engine.GetMethods方法的具体用法?C# Engine.GetMethods怎么用?C# Engine.GetMethods使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Engine
的用法示例。
在下文中一共展示了Engine.GetMethods方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ClassWithoutMethodsShouldReturnConstructor
public void ClassWithoutMethodsShouldReturnConstructor()
{
var engine = new Engine();
var code = @" class C {} ";
var asm = Compile("EmptyClass.dll", code);
var type = asm.Modules.First().GetType("C");
var dic = engine.GetMethods(type);
Assert.AreEqual<int>(1, dic.Count());
}
示例2: ConverToMethodDictionaryShouldReturnTheSameAmountOfMethods
public void ConverToMethodDictionaryShouldReturnTheSameAmountOfMethods()
{
var engine = new Engine();
var testPath = typeof(CoolLibrary.Test).Assembly.Location;
var asm = Mono.Cecil.AssemblyDefinition.ReadAssembly(testPath);
var type = asm.MainModule.GetType("CoolLibrary.Test");
Assert.IsNotNull(type);
var methods = engine.GetMethods(type);
Assert.AreEqual<int>(20, methods.Count);
}
示例3: GenericMethtodShouldNotBeConfusedWithNonGeneric
public void GenericMethtodShouldNotBeConfusedWithNonGeneric()
{
var engine = new Engine();
var code = @" class C {
public void SomePublicMethod(){}
public void SomePublicMethod<T>(){}
} ";
var asm = Compile("EmptyClass.dll", code);
var type = asm.Modules.First().GetType("C");
var dic = engine.GetMethods(type);
// 7 methods and one constructor
Assert.AreEqual<int>(3, dic.Count());
}
示例4: MethodswithAllModifiersShouldInResultSet
public void MethodswithAllModifiersShouldInResultSet()
{
var engine = new Engine();
var code = @" class C {
public void SomePublicMethod(){}
private void SomePrivateMethod(){}
protected void SomeProtectedMethod(){}
internal void SomeInternalMethod(){}
static void SomeStaticMethod(){}
public virtual void SomeVirtualMethod(){}
public override string ToString()
{
return base.ToString();
}
} ";
var asm = Compile("EmptyClass.dll", code);
var type = asm.Modules.First().GetType("C");
var methods = engine.GetMethods(type);
// 7 methods and one constructor
Assert.AreEqual<int>(8, methods.Count());
}
示例5: InnerClassesShouldNotAffectMethodCount
public void InnerClassesShouldNotAffectMethodCount()
{
var engine = new Engine();
var code = @" class C
{
public void SomePublicMethod() { }
private void SomePrivateMethod() { }
protected void SomeProtectedMethod() { }
internal void SomeInternalMethod() { }
static void SomeStaticMethod() { }
public virtual void SomeVirtualMethod() { }
public override string ToString()
{
return base.ToString();
}
class CInner1
{
public void SomePublicMethod() { }
private void SomePrivateMethod() { }
protected void SomeProtectedMethod() { }
internal void SomeInternalMethod() { }
static void SomeStaticMethod() { }
public virtual void SomeVirtualMethod() { }
public override string ToString()
{
return base.ToString();
}
}
}";
var asm = Compile("EmptyClass.dll", code);
var outerType = asm.Modules.First().GetType("C");
var outerMethods = engine.GetMethods(outerType);
// 7 methods and one constructor
Assert.AreEqual<int>(8, outerMethods.Count());
}
示例6: GettersAndSettersShoulBeInResultSet
public void GettersAndSettersShoulBeInResultSet()
{
var engine = new Engine();
var code = @" class C { int Prop {get; set;}} ";
var asm = Compile("EmptyClass.dll", code);
var type = asm.Modules.First().GetType("C");
var dic = engine.GetMethods(type);
// constructor, getter and setter
Assert.AreEqual<int>(3, dic.Count());
}