コード例 #1
0
        public void SymbolEquality()
        {
            var syntaxTree = CSharpSyntaxTree.ParseText(
                @"
namespace RoslynSandbox
{
    internal class Foo
    {
        internal object Bar()
        {
        }
    }
}");
            var compilation     = CSharpCompilation.Create("test", new[] { syntaxTree }, MetadataReferences.FromAttributes());
            var semanticModel   = compilation.GetSemanticModel(syntaxTree);
            var symbol          = semanticModel.GetDeclaredSymbol(syntaxTree.FindMethodDeclaration("Bar"));
            var qualifiedMethod = new QualifiedOverload(new QualifiedType("RoslynSandbox.Foo"), "Bar", ImmutableArray <QualifiedParameter> .Empty);

            Assert.AreEqual(true, symbol == qualifiedMethod);
            Assert.AreEqual(false, symbol != qualifiedMethod);
        }
コード例 #2
0
        public static void SymbolEquality()
        {
            var syntaxTree = CSharpSyntaxTree.ParseText(
                @"
namespace N
{
    internal class C
    {
        internal object M()
        {
        }
    }
}");
            var compilation     = CSharpCompilation.Create("test", new[] { syntaxTree }, Settings.Default.MetadataReferences);
            var semanticModel   = compilation.GetSemanticModel(syntaxTree);
            var symbol          = semanticModel.GetDeclaredSymbol(syntaxTree.FindMethodDeclaration("M"));
            var qualifiedMethod = new QualifiedOverload(new QualifiedType("N.C"), "M", ImmutableArray <QualifiedParameter> .Empty);

            Assert.AreEqual(true, symbol == qualifiedMethod);
            Assert.AreEqual(false, symbol != qualifiedMethod);
        }