社区
C#
帖子详情
C#中同名类问题
ladofwind
2010-05-31 03:20:28
我是java转过来的,因为java里如果不同包的同名类引用的时候必须加全名,否则编译不通过,
example:
import java.util.*;
import java.sql.*;
Date d = new Date();
过不去,必须改为
java.util.Date d = new java.util.Date();
可是在C#中,我看我两个包里有同名类,好象不需要加前缀包名,默认是取当前包里的类?
...全文
563
14
打赏
收藏
C#中同名类问题
我是java转过来的,因为java里如果不同包的同名类引用的时候必须加全名,否则编译不通过, example: import java.util.*; import java.sql.*; Date d = new Date(); 过不去,必须改为 java.util.Date d = new java.util.Date(); 可是在C#中,我看我两个包里有同名类,好象不需要加前缀包名,默认是取当前包里的类?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
小黑哥gs
2010-05-31
打赏
举报
回复
过路。。看看。。
ladofwind
2010-05-31
打赏
举报
回复
我上面这种情况 java应该编译不过去的
ladofwind
2010-05-31
打赏
举报
回复
我的情况是本包CMS.OP有个 Util类
CMS.Business下还有个Util类
我写的类QueryUser
在CMS.OP下,也using了CMS.Business,因为用其他类
这时候写 Util u= new Util(); 时我看没报错,是用的本包的Util,所以才发此问
ljz_761121
2010-05-31
打赏
举报
回复
C#与java不同这处在于,java是用import 来引入包,而.net是用using来引入命名空间,命名空间相当于java中的包,import java.sql.*相当于using System.Data
dyg974
2010-05-31
打赏
举报
回复
[Quote=引用 4 楼 ladofwind 的回复:]
哦,就是说如果两个别的包的类同名了,必须写全名,
如果是别的包类和我本包类同名,不用写全名,默认取本包类,对吧?
[/Quote]
是的。
ginni215
2010-05-31
打赏
举报
回复
[Quote=引用 4 楼 ladofwind 的回复:]
如果是别的包类和我本包类同名,不用写全名,默认取本包类,对吧?
[/Quote]
如果你都是使用的默认命名空间的话,那就是的,因为会默认引用自己的命名空间~
dongjiadeliwei
2010-05-31
打赏
举报
回复
C#总是从默认命名空间(当前命名空间)去查找指定的类,如果找不到才提示编译错误。
如果要使用另外一个名称空间就必须用全名了。
keeya0416
2010-05-31
打赏
举报
回复
C# 的命名空间你可以认为和 Java 的包名是一回事
如果只是导入一个 就不需要全名了
RedFish2010
2010-05-31
打赏
举报
回复
学习学习
oncesky
2010-05-31
打赏
举报
回复
要写全名.兄台,最好避免出现这种情况
ladofwind
2010-05-31
打赏
举报
回复
哦,就是说如果两个别的包的类同名了,必须写全名,
如果是别的包类和我本包类同名,不用写全名,默认取本包类,对吧?
dyg974
2010-05-31
打赏
举报
回复
是的,C#总是从默认命名空间(当前命名空间)去查找指定的类,如果找不到才提示编译错误。
如果要使用另外一个名称空间就必须用全名了。
qixingchao
2010-05-31
打赏
举报
回复
对,不过如果同名类的两个命名空间都出现在同一引用类里,则要写全名,它需要你来指明哪个类是哪个命名空间下的,否则它也不会识别。
捷哥1999
2010-05-31
打赏
举报
回复
是不是因为你的C#文件中没有using这两个命名空间?
如果同时都using了这两个命名空间,且这两个命名空间有同名的类,你的程序又使用了这样的类,肯定会有冲突提示的!
C#
语法全解
C#
语法全解
C#
语法全解
C#
进程
同名
的
问题
当一个进程
中
,判断另一个进程存在还是不存在可以使用Process.GetProcessesByName()方法来判断。但是仅仅使用Name来做区分的话,是有
问题
的。如何能保证这个名称的进程就是所希望的那个进程呢。进程间是可以
同名
的。 在实际项目
中
会进一步判断这个进程的附加属性,判断这个进程到底是不是同一个产品
中
的进程。比如产品的公司属性等等。 这样的判断方法好吗? 转载于:https://ww...
C#
中
的
类
在
C#
中
,
类
是面向对象编程的核心概念之一。它是一种引用
类
型,用于封装数据和与数据相关的方法。
类
可以被看作是创建对象的蓝图或模板。
类
定义:使用关键字class来定义一个
类
。
类
名通常以大写字母开头。//
类
成员成员变量(字段):字段是
类
的属性,用于存储数据。它们可以是私有的(只能在
类
内部访问)或公共的(可以在
类
的外部访问)。构造函数:构造函数是一种特殊的方法,用于初始化新创建的对象。它与
类
同名
,并且不返回任何值。方法:方法定义了
类
的行为。它们可以包含参数,并返回一个值或不返回值(即void。
C#
基础笔记(2)——
C#
中
的
类
C#
中
的
类
关于
C#
中
类
方法的重写和覆盖
在
C#
中
改变
类
中
相
同名
称的方法的实现过程
中
有三种方式:重载,重写和覆盖。 首先重载是指具有相同的方法名,通过改变参数的个数或者参数
类
型实现
同名
方法的不同实现。 重写则是只在继承
中
,子
类
通过override关键字修饰方法,实现父
类
和子
类
相同方法的不同实现,注意,父
类
方法必须是用virtual或者abstract关键字修饰的虚方法或者抽象方法,例如: public class A {
C#
111,092
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章