我无法尝试调用我的类对象,因此我可以显示枚举和后面的消息。我已经为类完成了所有代码(我认为),但是我在静态void main中遇到了麻烦。如何在tWrite方法中添加Enum作为参数。我知道我的代码有问题,我只是不知道它在哪里。这是我目前的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace Logging
{
public class Log
{
public enum Levels { Debug, Warn, Info, Error};
private string path = @"C:\Users\eliotta1130\Desktop\CSharp\Labs\Logging.txt";
//public string Path { get; set; }
//public Levels Levels { get; set; }
public Log(string path)
{
this.path = path;
if(!File.Exists(path))
{
File.Create(path);
}
StreamWriter textOut = new StreamWriter( new FileStream(
path, FileMode.Open, FileAccess.Write));
textOut.WriteLine(DateTime.Now);
textOut.Close();
}
public void tWrite(Levels levels, string message)
{
StreamWriter fs = new StreamWriter( new FileStream(path, FileMode.Append, FileAccess.Write));
fs.WriteLine(string.Format("{0}, {1}", DateTime.Now.ToString("HH:mm:ss.ffff")), message);
fs.Close();
}
}
}
这是我试图调用类对象的地方。
namespace Logging
{
class Logging
{
static void Main(string[] args)
{
Log files = new Log("Logging.txt");
files.tWrite( , "Fix the problem");
}
}
}
答案 0 :(得分:0)
你在另一个类中有枚举,所以你可以像这样调用它:
function simpan nilai(){
$jumlah = $this->input->post('rowcount');
$x=1;
while($x<=$jumlah){
$this->db->query("INSERT INTO nilai SET
id_peserta = '".$this->input->post('id_peserta' + $x)."',
id_un = '".$this->input->post('id_un' + $x)."',
nilai = '".$this->input->post('nilai' + $x)."' ");
$x++;
}
return "info-Data berhasil disimpan ...";
}
或者将它移到类之外,但是将它保存在同一名称空间中,并像这样调用它:
files.tWrite(Log.Levels.Warn, "Fix the problem");
答案 1 :(得分:0)
Grant的另一种解决方法是在Log类中定义枚举的实例:
public Levels LogLevel {get;set;}
static void Main(string[] args)
{
Log files = new Log("Logging.txt");
files.LogLevel = Log.Levels.Warn;
files.tWrite("Fix the problem");
}
当然,你需要相应地修改你的tWrite()签名,但这不是焦点。