저는 C#에 다소 익숙하며 작고 단순하며 투명한 프로그램에 속하며 대학 프로젝트의 일부입니다. 코드 :(사소한?) C# 네임 스페이스/클래스 계층 문제
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Hemtenta_problem_1
{
public class Basklass
{
public virtual void SkrivTrams()
{
Console.WriteLine("Hej Hopp");
}
}
public class Avledd_klass : Basklass
{
public override void SkrivTrams()
{
Console.WriteLine("Hej Hå");
}
}
public class Avledd_klass_till : Avledd_klass
{
public new virtual void SkrivTrams()
{
Console.WriteLine("Tjo Hej");
}
}
public class Ytterligare_avledd_klass : Avledd_klass
{
}_ //row which gives compiler message
class Program
{
static void Main(string[] args)
{
}
}
}
컴파일러의 메시지 주석이있는 행과 관련, 나는,
직접 같은 필드와 구성원이나 방법 이제
를 포함 할 수없는 네임 스페이스입니다 어떤 분야 나 방법도 "열린 마음"에 놓일 수 없다는 것을 완벽하게 잘 알고 있습니다. 그것은 수업의 일부이고, 수업의 일부가되어야합니다. 그러나 그것은 내가 코딩하는 방법이나 방법이 아니라 그 자체가 클래스입니다. 위의 다른 클래스 중 위의 클래스 중 어느 것도이 문제를 제공하지 않았습니다. 그것은 내가 마지막이자 아직 공허없는 반을 쓴 때부터 시작되었습니다.
Visual Studio의 컴파일러가 올바르게 작동합니까? 아니면 내가 보지 않을 40 홀수 라인에 무엇입니까? 도움이 될 수있는 의견에 매우 감사드립니다.
오류가있는 행의 밑줄은 무엇입니까? –
정확한 코드를 사용 해본 결과 나에게 도움이되었습니다. (바 Ytterligare_avledd_klass 클래스의 끝에 밑줄) 편집 : YEah는 밑줄 문제입니다! – anothershrubery
코드에 일반적으로 너무 많은 밑줄이 있습니다. [.NET Framework의 명명 지침] (http://msdn.microsoft.com/en-us/library/4xhs4564.aspx)에서는 밑줄을 사용하는 대신 파스칼 케이싱 클래스 및 메서드 이름을 사용하는 것이 좋습니다. 네이밍 스타일을 변경하면 그 찌그러진 밑줄을 막을 수 있습니다. –