我正在从一个班级开始分配,出于某种奇怪的原因,我在同一项目中从另一个文件调用方法时遇到了麻烦。我尝试过研究解决方案,但每个人总是说他们不是在同一个项目中,即使他们是。我正在尝试在我的Global.asax.cs文件中使用我项目中另一个.cs文件的方法,所以我不知道问题是什么。我确信我做的所有继承都正确,并且所有内容都在同一名称空间中。
Global.asax文件:
<%@ Application Language="C#" CodeBehind="~/App_Code/global.asax.cs"
Inherits="Global" %>
<script runat="server">
---------------------------
---------------------------
---------------------------
</script>
Global.asax.cs文件的标题:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
using System.IO;
using System.IO.Compression;
using System.Threading;
using System.Diagnostics;
namespace nvdWebService
{
public class nvdTimer : System.Web.HttpApplication
....
if(downloadNewFile()) /**method I'm trying to call**/
文件我正试图从以下方法调用方法:
namespace nvdWebService
{
public class cNVDdownload
{ ....
private Boolean downloadNewFile()
{
...
}
答案 0 :(得分:0)
类中的私有方法无法在类外的任何位置访问。 所以,首先需要将方法访问修饰符从私有更改为公共或内部。详细了解access modifiers here。
要访问其他类中的公共/内部方法,也可以使用该方法 1.需要是静态的方法 要么 2.您需要先创建该类的实例,然后访问该方法。
使方法静态:将方法签名更改为
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('./', RecursiveDirectoryIterator::SKIP_DOTS));
$files = new RegexIterator($iterator, '/\.(html|php|phtml|storage|tmp|txt|ini)*$/i');
foreach($files as $file){
echo $file->getRealpath();
}
然后从global.asax.cs调用它,如{{className}}。{{MethodName}}:
public static Boolean downloadNewFile()
{
}
第二个选项是创建cNVDdownload类的新实例,然后访问如下方法:
if(cNVDdownload.downloadNewFile())