Trait (computer programming): Difference between revisions

Content deleted Content added
Fixed broken URL in Ref 44
m C#: use file-scoped namespace
Line 75:
using System;
 
namespace CSharp8NewFeatures;
 
interface ILogger
{
// Traditional interface ILoggermethods
void LogWarningLog(string message);
void LogError(Exception exception);
 
// Default interface method
void LogWarning(string message)
{
Console.WriteLine(message);
// Traditional interface methods
} void Log(string message);
}
void LogError(Exception exception);
 
class Logger : ILogger
// Default interface method
{
void LogWarning(string message)
public void Log(string message)
{
{
Console.WriteLine(message);
}
}
 
public void LogError(Exception exception)
class Logger : ILogger
{
public void LogConsole.WriteLine(string messageexception.ToString());
{
Console.WriteLine(message);
}
 
public void LogError(Exception exception)
{
Console.WriteLine(exception.ToString());
}
}
}
 
class Program
{
static void Main(string[] args)
{
staticILogger voidlogger Main(string[]= argsnew Logger();
{
ILogger logger = new Logger();
 
logger.LogWarning("Some warning message");
}
}
}