C# Extesion
using System;
public class Gun{
public void fireDoubles(){
fire(); // error: 'fire' does not exist in the current context
this.fire(); // ok
Console.WriteLine("fire2");
}
}
public static class GunExtension{
public static void fire( this Gun gun ){
Console.WriteLine("fire");
}
}
public class Program
{
public static void Main()
{
var gun = new Gun();
gun.fireDoubles();
}
}
Swift Extesion
import Foundation
class Gun {
func fireDoubles(){
fire() // no error
print("fire2")
}
}
extension Gun {
func fire(){
print("fire")
}
}
let g = Gun()
g.fireDoubles()