Newby c#/asp.net 問題在這里。我正在創建一個帶有 .aspx 頁面的網站。
在一個方法中,我創建了一個串列并向其中添加了專案,如下所示:
var footballTeams = new List<string>();
footballTeams.Add("Arsenal");
footballTeams.Add("Aston Villa");
footballTeams.Add("Bournemouth");
footballTeams.Add("Brentford");
footballTeams.Add("Brighton & Hove Albion");
footballTeams.Add("Chelsea");
但是,我想將此代碼移動到它自己的單獨類中 - 因此更新團隊更容易,而不必深入研究代碼。
我將如何在一個類中對此進行編碼,然后能夠從另一個類中呼叫和使用該串列。
我嘗試創建一個名為 App_Code 的新檔案夾。然后在其中放入一個虛擬方法,如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace FootballResultPredictor.App_Code
{
public class Class1
{
public static String MyMethod()
{
string myString = "test";
return myString;
}
}
}
但是,當我嘗試從其他類呼叫該方法時,它似乎根本找不到它,如下所示:

下面是檔案結構:

我正在嘗試從 StartNewSeason.aspx 呼叫 Class1.cs 中的方法
uj5u.com熱心網友回復:
快速查看您的代碼,我有一些評論。
- 不要將新課程放在單獨的檔案夾中。
-此代碼錯誤:字串 a=myMethod();因為除非該類是靜態類,否則您不能在擁有類的實體(新...)之前呼叫方法,這里不是這種情況。
-編碼字串 b=Class1.MyMethod()更好,但仍然是錯誤的,因為 Class1 是類的名稱而不是物件的名稱。
在這一點上,我猜你對類和類物件的概念有些不太清楚。我建議您回顧一下這個基本概念,因為它是面向物件編程的核心。此外,在您的學習路徑的這一點上使用 ASP.NET 也是非常不可取的,我強烈建議您通過 C# 控制臺應用程式或 Windows 表單來學習 OO 基礎知識。這兩個框架,處理起來要簡單得多。
當您在 VS 中的同一解決方案下創建一個類(.cs 型別)檔案時,它將具有一個命名空間和一個類定義。如果該類不是靜態的,則將其稱為(也可以使用其他方式):
myClassName ObjectName = new myClassName();
如果類在不同的專案中,則可以指定命名空間,例如 new NameSpace2.myClassName,但這里不是這種情況。
只有在您創建了非靜態類的實體(物件)之后,您才能使用該物件及其使用 ObjectName(而不是 myClassName)的方法。例如:
ObjectName.MethodName();
回到手頭的程式,這是讓單獨的類處理串列的一種方法。有很多方法可以做到這一點,這種方式提供驗證并允許您遍歷串列項。如果不清楚,請告訴我。
新課程在這里:
//using System;
//using System.Collections.Generic;
//using System.Data;
public class FootballTeams
{
public List<string> footballTeams = new List<string>();
public FootballTeams()
{
//initialize the list
this.AddFootballTeam("Arsenal");
this.AddFootballTeam("Aston Villa");
this.AddFootballTeam("Bournemouth");
this.AddFootballTeam("Brentford");
this.AddFootballTeam("Brighton & Hove Albion");
this.AddFootballTeam("Chelsea");
}
//Method to add a new team
public void AddFootballTeam(string parmTeam)
{
//validate input
if (string.IsNullOrWhiteSpace(parmTeam))
{ throw new NoNullAllowedException("Error:Team name is empty"); }
if (footballTeams.Contains(parmTeam))
{ throw new DuplicateNameException(); }
//if valid add the name to the list
footballTeams.Add(parmTeam);
}
}
上述類的示例用法是:
var _t = new FootballTeams();
try
{
_t.AddFootballTeam("Ringers");
}
catch (Exception _ex)
{
Console.WriteLine(_ex.Message);
return;
}
foreach (var _team in _t.footballTeams)
{
Console.WriteLine(_team);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/518566.html
標籤:C#网
上一篇:AzureDevops-限制IISWebAppDeploymentOnMachineGroup@0任務XmlVariableSubstitution的范圍
