title: C# errors: member names cannot be the same as their enclosing type and interfaces declare types
body: <p>I am trying to lauch a service for appFabric for windows Azure. I am implement and EchoService and i need to implement by the way and IEchoContract interface, all of this on server side.
  So I proceed like this.</p>
  
  <p>On the IEchoContract.cs</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.ServiceModel;
  
  
  namespace Service
  {
  [ServiceContract(Name = "EchoContract", Namespace = "http://samples.microsoft.com/ServiceModel/Relay/")]
  interface IEchoContract
  {
      public interface IEchoContract
      {
          [OperationContract]
          string Echo(string text);
      }
  }}
  </code></pre>
  
  <p>And on EchoSErvice.cs</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.ServiceModel;
  
  namespace Service
  {
  class EchoService
  {
      [ServiceBehavior(Name = "EchoService", Namespace = "http://samples.microsoft.com/ServiceModel/Relay/")]
      public class EchoService : IEchoContract
      {
          public string Echo(string text)
          {
              Console.WriteLine("Echoing: {0}", text);
              return text;
          }
      }}}
  </code></pre>
  
  <p>I got two errors, i am not an expert on C#
  So first one: When i put EchoService : IEchoContract i got </p>
  
  <pre><code>'EchoService': member names cannot be the same as their enclosing type
  </code></pre>
  
  <p>Second when i put public interface IEchoContract</p>
  
  <pre><code>'IEchoContract' : interfaces declare types
  </code></pre>
  
  <p>So please help. Thx.</p>