raj_sagoo Ответов: 6

Ожидаемый класс,делегат,перечисление, интерфейс или структура


Ошибка ожидаемого класса, делегата, перечисления, интерфейса или структуры,я не могу определить, какие могут быть проблемы.

[EDIT] код добавлен из комментария:
////code with error///
public class Class1
    {
        private CardType _cardTypes;

     }
        public bool IsValidCardType(string cardNumber)
        {
            // AMEX -- 34 or 37 -- 15 length
            if ((Regex.IsMatch(cardNumber, "^(34|37)")) && ((_cardTypes & CardType.Amex) != 0))
                return (15 == cardNumber.Length);


                // MasterCard -- 51 through 55 -- 16 length
            else if ((Regex.IsMatch(cardNumber, "^(51|52|53|54|55)")) && ((_cardTypes & CardType.MasterCard) != 0))
                return (16 == cardNumber.Length);

                // VISA -- 4 -- 13 and 16 length
            else if ((Regex.IsMatch(cardNumber, "^(4)")) && ((_cardTypes & CardType.VISA) != 0))
                return (13 == cardNumber.Length || 16 == cardNumber.Length);

                // Diners Club -- 300-305, 36 or 38 -- 14 length
            else if ((Regex.IsMatch(cardNumber, "^(300|301|302|303|304|305|36|38)")) && ((_cardTypes & CardType.DinersClub) != 0))
                return (14 == cardNumber.Length);

                // enRoute -- 2014,2149 -- 15 length
            else if ((Regex.IsMatch(cardNumber, "^(2014|2149)")) && ((_cardTypes & CardType.DinersClub) != 0))
                return (15 == cardNumber.Length);

                // Discover -- 6011 -- 16 length
            else if ((Regex.IsMatch(cardNumber, "^(6011)")) && ((_cardTypes & CardType.Discover) != 0))
                return (16 == cardNumber.Length);

                // JCB -- 3 -- 16 length
            else if ((Regex.IsMatch(cardNumber, "^(3)")) && ((_cardTypes & CardType.JCB) != 0))
                return (16 == cardNumber.Length);

                // JCB -- 2131, 1800 -- 15 length
            else if ((Regex.IsMatch(cardNumber, "^(2131|1800)")) && ((_cardTypes & CardType.JCB) != 0))
                return (15 == cardNumber.Length);
            else
            {
                // Card type wasn't recognised, provided Unknown is in the CardTypes property, then
                // return true, otherwise return false.
                if ((_cardTypes & CardType.Unknown) != 0)
                    return true;
                else
                    return false;
            }
        }

Wendelius

Не могли бы вы опубликовать код, дающий ошибку...

raj_sagoo

код перешел к вопросу

6 Ответов

Рейтинг:
48

phil.o

Expected class, delegate, enum, interface, or struct

Вы не объявили ни одного из этих элементов в своем пространстве имен.
Я предлагаю вам купить книгу по основам C#/ASP.NET.


[no name]

Я согласился с Филом :)

Рейтинг:
41

#realJSOP

Это может быть буквально что угодно. Отсутствующая точка с запятой, отсутствующая ссылка на сборку, неправильный синтаксис и другие вещи. Отсутствие возможности видеть ваш код делает невозможным предоставление более конкретной помощи.


Рейтинг:
34

GParkings

Наиболее вероятной причиной этого сообщения является то, что вы написали код, который должен находиться внутри класса, делегата, перечисления, интерфейса или структуры непосредственно в области пространства имен. Это часто вызвано дополнительной закрывающей скобкой ( ' }'), из-за которой ваша область видимости становится немного странной

возьмем следующее:

namespace xxxx
{
    public class yyyy
    {
       public method zzzz()
       {
          //blah
       }

       public method qqqqq()
       {
       }
    }
}


если бы я добавил еще один } :

namespace xxxx
{
    public class yyyy
    {
       public method zzzz()
       {
          //blah
       } // this shouldnt be here
       }//this becomes the closing brace of the class rather than the method

       public method qqqqq() // this method is now outside the class!!
       {
       }
    }
}


raj_sagoo

да, это работает.

GParkings

вы не поверите, сколько раз этот человек ловил меня на слове. :)

raj_sagoo

Бинго атласт,это сработало..:)

johannesnestler

.. поскольку VS имеет идеальную поддержку форматирования кода, я стараюсь писать код в "правильном порядке", если форматирование идет неправильно, я знаю, что что-то пропустил. (Или если ярлык VS для форматирования не работает [STRG+K, то STRG+D])

Dalek Dave

Хороший Выбор.

Prem Kumar M

Спасибо

Рейтинг:
2

Member 8279445

<pre>using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
using System.Configuration;
using System.Data.SqlClient;
using System.Web.Security;
using System.Data;

namespace testing{
    public partial class login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {

            string username = TextBox1.Text;
            string password = TextBox2.Text;
            SqlConnection connection = null;
            SqlCommand command = null;
            SqlDataReader dataReader = null;
            try
            {
                string connectionString = ConfigurationManager.ConnectionStrings["testing ConnectionString"].ConnectionString;
                connection = new SqlConnection(connectionString);
                connection.Open();
                //prepare sql statements
                string sql = "SELECT * from Staff where username='" + username + "'And Password='" + password + "'";
                command = new SqlCommand(sql, connection);
                command.Parameters.Add("@username", SqlDbType.VarChar, 15).Value = username;
                command.Parameters.Add("@password", SqlDbType.VarChar, 30).Value = password;

                dataReader = command.ExecuteReader();

                if (dataReader.Read())
                {
                    //save username in session
                    Session.Add("username", username);
                }
                else
                {
                    //audit failure and notify user
                    System.Diagnostics.EventLog.WriteEntry(
                        "Membership Registration"
                        , string.Format("Invalid login attempt for user {0}", username)
                        , System.Diagnostics.EventLogEntryType.FailureAudit);
                Response.Write("Invalid username");
            }
            dataReader.Close();
            connection.Close();
            
        }
        catch(Exception ex)
    {
        System.Diagnostics.EventLog.WriteEntry (
        "Membership Registration"
        , string.Format("Unexpected error: {0}", ex.Message)
        ,System.Diagnostics.EventLogEntryType.Error);

        Response.Write ("Unexpected error");
    }
        
        
            }
      
            //Response.Redirect("./default.aspx");
        }


        protected void Button2_Click(object sender, EventArgs e)        {
            Response.Redirect("Membership Registration.aspx");
        }
    }


У меня также есть эта ошибка в void Button2_Click. Может ли кто-нибудь объяснить мне мою ошибку?


GParkings

это дополнительный '}' до или после ответа//.Перенаправление("./default.aspx");

Рейтинг:
1

Member 13493564

использование системы;

мешочки интерфейс
{
пустота draw1();
}

прямоугольник интерфейса
{
пустота draw2();
}

//интерфейсный круг
//{
// недействительными draw3();
//}

результат открытый класс : холст, акрил//, круг
{
общественного недействительными draw1()
{
Приставка.WriteLine("рисование Drawable...");
}
}



// ERROR : Ошибка 1 ожидаемый класс, делегат, перечисление, интерфейс или структура

общественного недействительными draw2();
{
Приставка.WriteLine("рисование прямоугольника...");
}




//общественного недействительными draw3()
//{
// Консоль.WriteLine("рисование круга...");
//}




публичный класс TestInterface
{
публичный статический пустота главный()
{
Drawable kmp1 = новый результат();
Прямоугольник kmp2 = новый результат();
//Circle Kmp3 = новый результат();

kmp1.draw1();
kmp2.draw2();
}
}


CHill60

Это не решение вопроса 6-летней давности!

Рейтинг:
0

Abhishek Jaiswall

Эй попробуй это сделать:

публичный класс Class1
{
частная CardType _cardTypes;


public bool IsValidCardType(string cardNumber)
{
// AMEX -- 34 или 37 -- 15 длина
если ((регулярное выражение.Выполняется(номер, "(34/37)")) &усилитель^; усилителя; amp; ((_cardTypes &амп; CardType.Амекс) != 0))
return (15 == номер карты.Длина);


// MasterCard -- 51 через 55 -- 16 длина
else if ((регулярное выражение.Выполняется(номер, "(51/52/53/54/55)")) &усилитель^; усилителя; amp; ((_cardTypes &амп; CardType.Мастер карта) != 0))
return (16 == номер карты.Длина);

// Виза -- 4 -- 13 и 16 длина
else if ((регулярное выражение.Выполняется(номер, "^(4)")) &усилитель;& ((_cardTypes &амп; CardType.Визы) != 0))
return (13 == номер карты.Длина || 16 == номер карты.Длина);

// Diners Club - 300-305, 36 или 38 - 14 длина
else if ((регулярное выражение.Выполняется(номер, "(300/301/302/303/304/305/36/38)")) &усилитель^; усилителя; amp; ((_cardTypes &амп; CardType.DinersClub) != 0))
return (14 == номер карты.Длина);

// enRoute -- 2014,2149 -- 15 длина
else if ((регулярное выражение.Выполняется(номер, "(2014/2149)")) &усилитель^; усилителя; amp; ((_cardTypes &амп; CardType.DinersClub) != 0))
return (15 == номер карты.Длина);

// Discover -- 6011 -- 16 длина
else if ((регулярное выражение.Выполняется(номер, "(6011)")) &усилитель^; усилителя; amp; ((_cardTypes &амп; CardType.Откройте для себя) != 0))
return (16 == номер карты.Длина);

// JCB -- 3 -- 16 длина
else if ((регулярное выражение.&Усилитель выполняется(номер, "^(3)")) ; усилителя; amp; ((_cardTypes &амп; CardType.Компания JCB) != 0))
return (16 == номер карты.Длина);

// JCB -- 2131, 1800 -- 15 длина
else if ((регулярное выражение.Выполняется(номер, "^(2131/1800)")) &усилитель;& ((_cardTypes &амп; CardType.Компания JCB) != 0))
return (15 == номер карты.Длина);
еще
{
// Тип карты не признается, при условии, неизвестных в собственность, которые, затем
// возвращаем true, иначе вернет false.
if ((_cardTypes & CardType.Неизвестно) != 0)
вернуть true;
еще
возвращать false;
}
}
}


Philippe Mori

Отформатируйте свой код... если вы хотите иметь некоторые моменты.