C_Sharp 板


LINE

遇到一個case 我在wrap一些API 我自己的namespace叫做 MyClass 這API在namespace Foo底下 他這namespace下有個enum 叫做 enum Test{ A, B, C}; 但要看到他必須using Foo; 問題是 我包這些API起來 我可能開一個function 類似 Set( Test param); 但使用者要看到Test 他就必須知道要using Foo; 但我覺得這樣不是很友善 所以我duplicate一份enum叫做 enum eTest{A,B,C} 使用者要用我 所以一定要using MyClass; Set改為 Set( eTest param) 但是我這樣duplicate一份總覺得怪怪 所以我想說試試看可不可以間接的讓使用者看到using Foo; 所以我把我code改成 namespace MyClass { using Foo; public class MyClass{ public void Set( Test param){............} } } 可是我測了~~~使用者還是認不到 Foo底下的東西 讓我很困擾 我到底是該duplicate一個enum 還是請使用者自行需要知道要寫using Foo; 我試著google了很久....可是找不到@@ 還是說做不到呢 謝謝 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.147.15.66
1F:推 Deadshot465:小弟我比較好奇的是為什麼不直接加入Foo的參考 11/25 18:48
2F:→ Deadshot465:然後使用完整的名稱Foo.Test呢@@... 11/25 18:49
3F:→ Deadshot465:using只是方便省略冗長的完整名稱而已不是嘛@@? 11/25 18:49
4F:→ remmurds:using到底困擾什麼? 我怎麼都不懂? 11/25 20:15
5F:→ QQ29:我想要內部幫她using後他就直接看的到Test這enum... 11/25 21:00
6F:→ QQ29:他就不用自己using namespace了 11/25 21:00
7F:→ Deadshot465:所以問題是在.....? 11/25 21:14
8F:→ remmurds:那原PO乾脆寫信建議EMCA和ISO修改C#規格算了... 11/25 21:35
9F:→ Deadshot465:原po可以把問題描述得再明確清楚一點嗎? 11/25 21:49
10F:→ QQ29:可能是我對using有點誤解 我是有查msdn 兩種用法 11/25 23:11
11F:→ QQ29:一種是 using(statement...){} 11/25 23:12
12F:→ QQ29:一種是類似C++的typedef....那一般在 cs檔最上面 11/25 23:12
13F:→ QQ29:有一堆using System.xxxx;這是哪一種呢? 11/25 23:13
14F:→ QQ29:我想達到的目的是 我提供dll可是對方不用using 我用到的 11/25 23:13
15F:→ QQ29:namespace 就可以看到 內容了 11/25 23:14
16F:推 Deadshot465:我是覺得原po不要太習慣用C++去理解C#... 11/25 23:20
17F:→ Deadshot465:那樣說不定有時候會反而被制約 11/25 23:21
18F:→ Deadshot465:cs檔最上面的using是指使用名稱空間 11/25 23:21
19F:→ Deadshot465:但那不是必要 那只是方便可以省略完整寫出每個類別 11/25 23:21
20F:→ Deadshot465:冗長的完整名稱 譬如說DataSet這個類別 11/25 23:22
21F:→ Deadshot465:他是位於System.Data名稱空間之下 11/25 23:22
22F:→ Deadshot465:沒using的前提下你必須每次都寫出System.Data.DataSet 11/25 23:23
23F:→ Deadshot465:但using System.Data之後 就可以直接寫DataSet 11/25 23:23
24F:→ Deadshot465:反而比起using 比較重要的是參考的加入 11/25 23:24
25F:→ Deadshot465:有些類別和名稱空間 預設不會被參考 11/25 23:24
26F:→ Deadshot465:你必須手動加入參考才可使用 11/25 23:24
27F:→ Deadshot465:所以你的問題是在你的Set方法需要使用到Foo.Test 11/25 23:26
28F:→ Deadshot465:但是你希望使用者在call你的方法時不用using Foo嗎? 11/25 23:27
29F:→ QQ29:對 不想讓他去using 因為她不知道該using啥 11/26 00:41
30F:→ QQ29:http://tinyurl.com/2aolfgb 請問第一個using 指示詞。 11/26 00:42
31F:→ QQ29:他說有兩種用法 我現在是想第一種用法 using System.Text; 11/26 00:42
32F:→ QQ29:使用者不要知道要using這 他就看的到裡面的東西了 11/26 00:43
33F:→ QQ29:請問做得到嗎 11/26 00:43
34F:→ ssccg:使用者不會不知道該using啥吧,因為需要把Foo.dll加入參考 11/26 02:06
35F:→ ssccg:using是個directive,只對寫了using的那個檔案有效 11/26 02:06
36F:→ ssccg:是告訴compiler對沒指定namespace又不在該namespace中的type 11/26 02:07
37F:→ ssccg:要去哪邊找,而不是inline或是import那種意思 11/26 02:08
38F:→ Deadshot465:如果使用者只參考了你的組件 卻沒參考Foo的話 11/26 02:23
39F:→ Deadshot465:你的方法是起不了作用的 11/26 02:23
40F:→ Deadshot465:因為對使用者來說如果沒參考Namespace Foo的話 11/26 02:24
41F:→ Deadshot465:Foo.Test這個enum是不存在的 自然也無法傳入Set()了 11/26 02:25
42F:→ Deadshot465:不然的話就是將兩者寫在不同的類別檔中 11/26 02:26
43F:→ Deadshot465:但位在同一個命名空間之下 11/26 02:26
44F:→ jrexz:不就是 Test => Foo.Test , using 只是可以省去打Foo 11/26 02:57
45F:→ remmurds:我好奇原PO是不是不知道VisualStudio可以瀏覽一個DLL底下 11/26 06:20
46F:→ remmurds:的所有命名空間和所有類別 11/26 06:21
47F:→ remmurds:把時間花在這 坦白說真的沒啥意義... 11/26 06:24
48F:推 horngsh:建議樓主弄清何謂Namespace以及其真正用途. 11/26 10:23
49F:→ remmurds:同意樓上 11/26 12:32
50F:→ andymai:這就像在路上喊一聲"志明"或"春嬌"~結果有好幾人回頭一樣 11/26 12:43







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP