我如何引用课程? [英] How do I reference a class?
本文介绍了我如何引用课程?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在Public Static Class Constants中创建了几个公共类。我创建了一个新的公共类Location_Code,但我无法引用它。
公共类LOCATION_CODE
{
public enum CODE
{
AA,AC,AE,AF,AG,AJ,AL,AM,AN,AO,AQ,AR,AS,AT,AU,AV,AY ,BA,BB,BC,BD,BE,BF,
BG,BH,BL,BM,BN,BO
}
公共静态字符串DISPLAY_STRING(CODE p)
{
switch(p)
{
case CODE.AA:returnARUBA(+ p.ToString()+);
案例CODE.AC:返回ANTIGUA AND BARBUDA(+ p.ToString()+);
案例CODE.AE:返回UNITED ARAB EMIRATES(+ p.ToString()+);
case CODE.AF:返回AFGHANISTAN(+ p.ToString()+);
case CODE.AG:返回ALGERIA(+ p.ToString()+);
case CODE.AJ:返回AZERBIAJAN(+ p.ToString()+);
case CODE.AL:返回ALBANIA(+ p.ToString()+);
case CODE.AM:返回ARMENIA(+ p.ToString()+);
case CODE.AN:返回ANDORRA(+ p.ToString()+);
case CODE.AO:返回ANGOLA(+ p.ToString()+);
案例CODE.AQ:返回AMERICAN SAMOA(+ p.ToString()+);
case CODE.AR:返回ARGENTINA(+ p.ToString()+);
case CODE.AS:返回AUSTRALIA(+ p.ToString()+);
案例CODE.AT:返回ASMORE AND CARTIER(+ p.ToString()+);
case CODE.AU:返回AUSTRIA(+ p.ToString()+);
case CODE.AV:返回ANGUILLA(+ p.ToString()+);
case CODE.AY:返回ANTARTICA(+ p.ToString()+);
}
返回null;
}
我尝试过:
我已经提交了更改。
我正在使用命名空间但仍然没有出现在选择中。我很感激任何想法。
解决方案
假设LOCATION_CODE位于同一名称空间中,或者您使用了正确的行,并且如果它不是同一个也引用了Assembly,那么这段代码将起作用:
LOCATION_CODE lc = new LOCATION_CODE();
或者:
LOCATION_CODE.CODE code = LOCATION_CODE.CODE.AG;
Console.WriteLine(LOCATION_CODE.DISPLAY_STRING(code));
我不会这样做:用于枚举元素的人类可读字符串 [ ^ ]可能有所帮助。
//创建类的实例
LOCATION_CODE lc = new LOCATION_CODE();
//如果你想使用DISPLAY_STRING你不使用实例
//因为它是静态的所以你从类型
字符串代码中调用它= LOCATION_CODE.DISPLAY_STRING (LOCATION_CODE.CODE.AA);
I created several public class witnin a Public Static Class Constants. I created a new public class Location_Code but I cannot reference it.
public class LOCATION_CODE { public enum CODE { AA, AC, AE, AF, AG, AJ, AL, AM, AN, AO, AQ, AR, AS, AT, AU, AV, AY, BA, BB, BC, BD, BE, BF, BG, BH, BL, BM, BN, BO } public static string DISPLAY_STRING(CODE p) { switch (p) { case CODE.AA: return "ARUBA (" + p.ToString() + ")"; case CODE.AC: return "ANTIGUA AND BARBUDA (" + p.ToString() + ")"; case CODE.AE: return "UNITED ARAB EMIRATES (" + p.ToString() + ")"; case CODE.AF: return "AFGHANISTAN (" + p.ToString() + ")"; case CODE.AG: return "ALGERIA (" + p.ToString() + ")"; case CODE.AJ: return "AZERBIAJAN (" + p.ToString() + ")"; case CODE.AL: return "ALBANIA (" + p.ToString() + ")"; case CODE.AM: return "ARMENIA (" + p.ToString() + ")"; case CODE.AN: return "ANDORRA (" + p.ToString() + ")"; case CODE.AO: return "ANGOLA (" + p.ToString() + ")"; case CODE.AQ: return "AMERICAN SAMOA (" + p.ToString() + ")"; case CODE.AR: return "ARGENTINA (" + p.ToString() + ")"; case CODE.AS: return "AUSTRALIA (" + p.ToString() + ")"; case CODE.AT: return "ASMORE AND CARTIER (" + p.ToString() + ")"; case CODE.AU: return "AUSTRIA (" + p.ToString() + ")"; case CODE.AV: return "ANGUILLA (" + p.ToString() + ")"; case CODE.AY: return "ANTARTICA (" + p.ToString() + ")"; } return null; }
What I have tried:
I've committed changes.
I'm "using" the Namespace but still that class doesn't appear in the selection. I'd appreciate any ideas.
解决方案
Assuming LOCATION_CODE is in the same namespace, or that you have used the correctusing
line, and also referenced the Assembly if it isn't the same one, then this code will work:
LOCATION_CODE lc = new LOCATION_CODE();Or:
LOCATION_CODE.CODE code = LOCATION_CODE.CODE.AG; Console.WriteLine(LOCATION_CODE.DISPLAY_STRING(code));
I wouldn't do it like that though: Human readable strings for enum elements[^] may help.
// to create an instance of the class LOCATION_CODE lc = new LOCATION_CODE(); // if you want to use DISPLAY_STRING you don't use an instance // as it is static so you call it from the type string code = LOCATION_CODE.DISPLAY_STRING(LOCATION_CODE.CODE.AA);
这篇关于我如何引用课程?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文