C#ではExtension Methodという便利な仕組みがあるそうです。
使い方
using System;
public static class Extension
{
public enum Fruit { apple, orange }
public static string function(this Fruit fruit)
{
return fruit == Fruit.apple ? "apple" : "orange";
}
}
public static class Example
{
static void Main()
{
string fruit = Extension.function(Extension.Fruit.apple);
Console.WriteLine("fruit: " + fruit);
}
}
実行結果
fruit: apple
テキトウ過ぎるexampleですが、this
キーワードを使ってこんな感じで書けるみたいです。enum
以外にもclass
/struct
/primitive value
などにも使えるそうなので、便利そうな気がします。
リンク
How to: Implement and Call a Custom Extension Method (C# Programming Guide) | Microsoft Docs
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/how-to-implement-and-call-a-custom-extension-method