本人刚接触 C# 没多久,发现一个无法解决的问题:
using System;
namespace CS
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            StaClass.AAA();
        }
    }
}public static class StaClass         // 出错点
{
    public static void AAA()
    {
        Console.WriteLine("String");
    }
}
========================================================
编译后,系统报错。
StaClass 下出现蓝色波浪线,说:修饰符 static 对该项无效。怎么回事?郁闷啊

解决方案 »

  1.   

    为什么删掉,C# 2003 没有静态类吗?我想做一个静态类,该类不能被子类继承,也不能实例化,就像 .NET 里的 Math 类 :)
      

  2.   

    该类不能被子类继承,也不能实例化可以这样定义public sealed class StaClass         Sealed确保该类不会被继承
    {
        //私有构造函数确保该类不能被实例化
        private StaClass()
        {
        }         
        public static void AAA()
        {
            Console.WriteLine("String");
        }
    }
      

  3.   

    sealed 能够不被继承,但是能实例化
      

  4.   

    To: viena(维也纳nn)   Math 类不能被实例化:
           System.Math m = new System.Math();
       系统会报错的: 说该类受保护,虽然我看了它的定义是public sealed class Math
      

  5.   

    sorry,没试过去实例化Math,不能被实例化,也许构造函数是私有的
      

  6.   

    viena(维也纳nn) 谢谢 ^_^, 虽然我不知道真正是什么回事,但我想这不失为一个好注意,谢谢。
      

  7.   

    反编译了一下Math,发现只有静态与私有两个构造函数
    当然不能实例化
    static Math();
    private Math();
      

  8.   

    网上查了一下,这个哥儿们是不是 .NET 的一个插件?