C# Fehler: die Namen dürfen nicht identisch sein umschließenden Typ und Schnittstellen deklarieren Typen
Ich versuche, zu lauch ein service für appFabric für windows Azure. Ich bin zu implementieren und EchoService und ich brauche zu implementieren, indem Sie die Art und Weise und IEchoContract-Schnittstelle, die alle diese auf der server-Seite.
So ich gehen Sie wie folgt vor.
Auf dem IEchoContract.cs
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);
}
}}
Und auf EchoSErvice.cs
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;
}
}}}
Habe ich zwei Fehler, ich bin kein Experte für C#
Also erstmal eins: Wenn ich EchoService : IEchoContract ich habe
'EchoService': member names cannot be the same as their enclosing type
Zweiten, als ich die öffentliche Schnittstelle IEchoContract
'IEchoContract' : interfaces declare types
Also bitte helfen. Thx.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie erklärt, das interface und die Klasse zweimal erklären jeweils nur einmal.
IEchoContract.cs:
EchoService.cs:
Sollten Sie in Ihrem code, den Sie haben eine Klasse namens EchoSevice innerhalb einer Klasse mit dem Namen EchoService
Versuchen, das entfernen der äußeren Klasse, wie es hat keine Bedeutung hier
Müssen Sie die Entfernung Ihrer äußeren Oberfläche auch, da sind auch zweimal definiert (wohl auch der Grund, warum Ihre Klassen endete definiert sich doppelt so gut)
Definieren Sie eine Klasse EchoService in der EchoService Klasse - das ist nicht möglich. Entfernen Sie einfach die äußere "class EchoService", und Sie sollten in Ordnung sein.
In EchoService.cs, Sie können nicht rufen Sie die interne Klasse EchoService, da Sie bereits eine Klasse EchoService oben. Dazu müssen Sie eine von Ihnen.