簡體   English   中英

已存在同名類

[英]Class With The Same Name Already Exists

我在.NET C#Web應用程序中創建了一個名為“ Group ”的類。

當我嘗試訪問其他類中的該類時,我不會遇到麻煩,但是,當我嘗試訪問完全相同的類時,在代碼中的某些點上,它也使我引用了另一個名為“ Group ”的內置類。的lib。 正則表達式

我的問題:如何直接指定我嘗試訪問其他課程? 如果在不同的庫下有2個類。 以相同的方式命名,我只需要輸入X即可 Y。 分組以便指定差異,但是我不確定要在代碼中訪問手動創建的類需要輸入什么內容。

編輯:據我所知,我的Web應用程序沒有命名空間。 我正在使用WebForms開發我的網站,因此就我而言,沒有創建名稱空間。

提前致謝。

防止此問題的第一層保護是為您的類型提供此類通用名稱時要小心。 那是最好的解決方案。

除非如此,否則您可以執行以下兩項操作之一:

  • 完全限定使用類型的名稱。 例如MyNamespace.Group
  • 通過聲明一個類型別名using 例如, using MySpecialGroup = MyNamespace.Group;

如何直接指定我要訪問其他班級

你可以:

  • 使用標准名稱,例如

     MyNamespace.Group x = new MyNamespace.Group(); 
  • 除非確實需要,否則避免為System.Text.RegularExpressions添加using指令(也許可以完全限定使用該指令)
  • 通過using指令使用別名:

     using MyGroup = MyNamespace.Group; ... MyGroup x = new MyGroup(); 

如果您沒有命名空間聲明,則可以只引用global::Group而不是MyNamespace.Group ...,但我懷疑您確實有一個命名空間,如果您沒有命名空間,我建議您創建一個命名空間已經有一個。

如果只想在代碼中訪問自己的類,則可以using關鍵字為其創建別名:

using Group = My.Namespace.Group;

(在類的頂部,除了正常的using指令外)。

否則,始終可以在代碼中使用完全限定的名稱

var Group = new My.Namespace.Group;

您可以使用using指令:

using Group = X.Group;

var group = new Group(); \\ default Group class comes from X namespace;
var group2 = new Y.Group();  \\ if  you want other class, specify full namespace.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM