我在一个工程内同一名称空间下建立了一个function.cs文件,里面是一个class function,在这个类中有我自己定义的许多方法,现在我想在同一工程同一个名称空间下别的页面调用这个类中的方法,我不想要继承,是否可以用建立这个function类的实例来调用它的方法?我写了下不对,具体不知道怎么写,有什么要注意的吗?我这样的想法对吗?请帮忙

解决方案 »

  1.   

    1 追加参照
    2 看看函数是不是public
    3 不实例化的话用静态方法
      

  2.   

    The name 'neMyfunctionon' does not exist in the class or namespace '_192._168._4._8.admin_panel.allinfo'
    就是遇到了这个问题
      

  3.   

    看看neMyfunctionon函数是不是public的
      

  4.   

    cs.用的时候
      a.A myfunction =new a.A();
      a.你的函数名称();
    using System;namespace a.A
    {
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    public class Class1
    {
    public Class1()
    {
    //
    // TODO: 在此处添加构造函数逻辑
    //
    }
    /// <summary>
    /// fdsdfds
    /// </summary>
    public void a()
    {
    }
    }
    }
      

  5.   

    你要引用一下function.cs的命名空间
      

  6.   

    function a= new function ();
    a.方法名
      

  7.   

    楼上的虽然你写错了,但是我在你的帮助下还是通过了,应该是这样写
    _192._168._4._8.admin_panel.Myfunction function1=new _192._168._4._8.admin_panel.Myfunction();
    只是我在调用这个类方法的时候出现问题了
    我是这样调用的,function1.GetStringNum(),可是不行,出问题调用方法应该怎么调用?
      

  8.   

    function a= new function ();
    a.方法名
    注意方法要是public的,還有。如果是靜態方法,則用function.方法名進行訪問
      

  9.   

    你把function.cs编译生成程序集,然后引用这样会更方便!
      

  10.   

    _192._168._4._8.admin_panel.allinfo.function' is inaccessible due to its protection level
    这个错误是什么意思啊?我就是按着楼上各位的方法去做的
      

  11.   

    //这个是function.cs文件中的类using System;namespace _192._168._4._8.admin_panel
    {
    /// <summary>
    /// function 的摘要说明。
    /// </summary>
    public class Myfunction
    {
    public Myfunction()
    {
    //
    // TODO: 在此处添加构造函数逻辑
    //
    }
    public string GetStringNum(string Content,int Num)
    {
    if(Content==null || Content==string.Empty || Content.Length<Num)
    return Content;
    char[] cArray=Content.ToCharArray();
    int iAlreadyNum=0;
    int iOkLenNum=0;
    foreach (char cH in cArray)
    {
    if(iAlreadyNum < Num * 2)
    {
    if(cH>128)
    {
    iAlreadyNum+=2;
    }
    else
    iAlreadyNum++;
    iOkLenNum++;
    }
    else
    break;
    }
    Content=Content.Substring(0,iOkLenNum);
    return Content+"..";
    } }
    }//这里是在另一个cs文件中另一个类中调用的写法 public class allinfo : chkUser//这里是我用的一个继承
    {
    Myfunction function=new Myfunction();//这句是实例化上个文件中的类
    <%#function.GetStringNum((string)DataBinder.Eval(Container.DataItem, "about"),10) %>//这里是在.aspx文件中的控件中调用实例化类的方法,显示错误信息就是_192._168._4._8.admin_panel.allinfo.function' is inaccessible due to its protection level
    另外对帮助我的朋友表示感谢,特别是zjhphc(赵建宏),一直在回复我的帖子,对你们说声谢谢了
      

  12.   

    你的变量function定义在类allinfo 中,但是在aspx页面使用,可能找不到。把function设为aspx页面对应类的全局变量或属性试试。如:public Myfunction function;
      

  13.   

    Myfunction a= new Myfunction();
    a.GetStringNum("dfsf",2)
      

  14.   

    _192._168._4._8.admin_panel.Myfunction aa = new _192._168._4._8.admin_panel.Myfunction()另外不要用_192._168._4._8做命名控件,没有意义嘛。