我如何引用课程? [英] How do I reference a class?

查看:86
本文介绍了我如何引用课程?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在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 correct using 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆