C# 找不到类型或命名空间名称“DataAccessLayer”(是不是缺少 using 指令或程序集引用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 找不到类型或命名空间名称“DataAccessLayer”(是不是缺少 using 指令或程序集引用?相关的知识,希望对你有一定的参考价值。

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections.Generic;

public int CreatCourse(string couName,int couPeriod,int couPoint,string couInfo)

//生成添加的SQL语句
string createSql="INSERT INTO CourseInfo(课程名称,学时,学分,课程简介)VALUS('"+couName+"','"+couPeriod+"','"+couPoint+"','"+couInfo+"')";
//初始化数据连接对象
DataAccessLayer dbCourse;
dbCourse=new DataAccessLayer();
int resultValue=dbCourse.exeNonQuery(createSql);
//如果添加语句执行出问题则返回0
if(resultValue==-2)
.........
DataAccessLayer类文件都在同一个文件夹里面 怎么会找不到呢
小弟初学 请各位高手指教!
加上using DataAccessLayer;还是不行啊 还是提示错误 找不到类型或命名空间名称“DataAccessLayer”(是否缺少 using 指令或程序集引用?)
DataAccessLayer类是个公共类,是数据库连接文件

不是c++

DataAccessLaye。cs文件如下:
public class DateAccessLayer


public DateAccessLayer()

参考技术A 首先添加该类文件的引用。其次在
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections.Generic;
加上using DataAccessLayer;本回答被提问者采纳
参考技术B DataAccessLayer类是个公共类,是数据库连接文件!!!!!!!

using 后面是命名空间可不是类名,和C++可不一样呀!!!!楼主你问的是C++把???!!
参考技术C 是不是因为 DataAccessLayer不是个公共类,访问不到。因为默认新建的它不是公共的。

找不到类型或命名空间名称“T”(您是不是缺少 using 指令或程序集引用?)

【中文标题】找不到类型或命名空间名称“T”(您是不是缺少 using 指令或程序集引用?)【英文标题】:The type or namespace name 'T' could not be found (are you missing a using directive or an assembly reference?)找不到类型或命名空间名称“T”(您是否缺少 using 指令或程序集引用?) 【发布时间】:2012-05-01 16:39:21 【问题描述】:

我正在尝试来自singleton base class article 的一些代码。但是当我编译时,它给了我那个错误信息。我确保项目的目标框架是完整的 4.0,而不是 4.0 客户端框架。代码有什么问题?

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;
using System.Reflection;

namespace ConsoleApplication1

    public abstract class SingletonBase<t> where T : class
    
        /// <summary>
        /// A protected constructor which is accessible only to the sub classes.
        /// </summary>
        protected SingletonBase()  

        /// <summary>
        /// Gets the singleton instance of this class.
        /// </summary>
        public static T Instance
        
            get  return SingletonFactory.Instance; 
        

        /// <summary>
        /// The singleton class factory to create the singleton instance.
        /// </summary>
        class SingletonFactory
        
            // Explicit static constructor to tell C# compiler
            // not to mark type as beforefieldinit
            static SingletonFactory()  

            // Prevent the compiler from generating a default constructor.
            SingletonFactory()  

            internal static readonly T Instance = GetInstance();

            static T GetInstance()
            
                var theType = typeof(T);

                T inst;

                try
                
                    inst = (T)theType
                      .InvokeMember(theType.Name,
                        BindingFlags.CreateInstance | BindingFlags.Instance
                        | BindingFlags.NonPublic,
                        null, null, null,
                        CultureInfo.InvariantCulture);
                
                catch (MissingMethodException ex)
                
                    throw new TypeLoadException(string.Format(
                      CultureInfo.CurrentCulture,
                      "The type '0' must have a private constructor to " +
                      "be used in the Singleton pattern.", theType.FullName)
                      , ex);
                

                return inst;
            
        
    

    public sealed class SequenceGeneratorSingleton : SingletonBase<SequenceGeneratorSingleton>
    
        // Must have a private constructor so no instance can be created externally.
        SequenceGeneratorSingleton()
        
            _number = 0;
        

        private int _number;

        public int GetSequenceNumber()
        
            return _number++;
        
    

    class Program
    
        static void Main(string[] args)
        
            Console.WriteLine("Sequence: " + SequenceGeneratorSingleton.Instance
                .GetSequenceNumber().ToString());  // Print "Sequence: 0"

        
    

【问题讨论】:

【参考方案1】:

t的情况吗?应该是T。无论如何,它需要在整个班级中保持一致,并且大写是惯例。

【讨论】:

【参考方案2】:
public abstract class SingletonBase<t> where T : class

应该是:

public abstract class SingletonBase<T> where T : class

C# 区分大小写,因此编译器将 where T : class 视为引用未知的泛型类型参数,因为您在类型声明中使用了小写的 t,SingletonBase&lt;t&gt;

【讨论】:

以上是关于C# 找不到类型或命名空间名称“DataAccessLayer”(是不是缺少 using 指令或程序集引用?的主要内容,如果未能解决你的问题,请参考以下文章

C# asp.net - 找不到类型或命名空间名称“Helper”(您是不是缺少 using 指令或程序集引用?)

找不到类型或命名空间名称“readFullyStream”

C# 找不到类型或命名空间名称“DataAccessLayer”(是不是缺少 using 指令或程序集引用?

C#:请问高手 找不到类型或命名空间名称“HTTPWebRequest”(是不是缺少 using 指令或程序集引用?)

Microsoft 翻译 - 找不到类型或命名空间名称“DataContract”

有问题,找不到类型或命名空间名称“List”