Esempio n. 1
0
        public string Signature()
        {
            var cSharpAmbience = new Dom.CSharp.CSharpAmbience();

            cSharpAmbience.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.UseFullyQualifiedMemberNames;
            return(cSharpAmbience.Convert(this));
        }
Esempio n. 2
0
        public void OverrideGenericMethodTest()
        {
            string    program  = @"using System;
class Program {
	public static void Main() {
		D d = new D();
		
		d.T<char, int>('a', 1);
		d.T<int, char>('a', 2);
	}
	public virtual void T<A, B>(A a, B b) {
	}
	public virtual void T<X, Y>(Y a, X b) {
	}
}
class D : Program  {
	public override void T<X, Y>(X a, Y b) {
		// overrides T<A,B> - type arguments are identified by position
	}
}";
            IAmbience ambience = new Dom.CSharp.CSharpAmbience();

            ambience.ConversionFlags = ConversionFlags.UseFullyQualifiedMemberNames | ConversionFlags.ShowTypeParameterList;
            MemberResolveResult mrr;

            mrr = Resolve <MemberResolveResult>(program, "d.T<int, char>('a', 2)", 5);
            Assert.AreEqual("Program.T<X, Y>", ambience.Convert((IMethod)mrr.ResolvedMember));

            mrr = Resolve <MemberResolveResult>(program, "d.T<char, int>('a', 1)", 6);
            Assert.AreEqual("D.T<X, Y>", ambience.Convert((IMethod)mrr.ResolvedMember));

            IMember baseMember = MemberLookupHelper.FindBaseMember(mrr.ResolvedMember);

            Assert.IsNotNull(baseMember);
            Assert.AreEqual("Program.T<A, B>", ambience.Convert((IMethod)baseMember));
        }
		public string Signature()
		{
			var cSharpAmbience = new Dom.CSharp.CSharpAmbience();
			cSharpAmbience.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.UseFullyQualifiedMemberNames;
			return cSharpAmbience.Convert(this);
		}