Tijdens het bouwen van mijn applicatie (muziek collectie dingetje, prive projectje
) kwam ik op het idee om extension methods te (mis?)(ge)bruiken. Aangezien er veel met directories en bestanden gewerkt wordt zijn extension methods vrij handig om de code leesbaar te houden.
Voor wie onbekend is met extension methods: http://msdn.microsoft.com/en-us/library/bb383977.aspx
Nu zijn er natuurlijk altijd 2 (of meer?) mogelijkheden om problemen op te lossen, nu gaat het mij om het ophalen van files uit een directory.
Dus, extension method:
of normale method:
Het grote verschil tussen deze twee is de aanroep:
of:
Wat heeft jullie voorkeur? En zijn er nog voor / nadelen aan bepaalde methodes die ik over het hoofd heb gezien?
Als er een betere manier is, dan hoor ik dat natuurlijk graag
.
Voor wie onbekend is met extension methods: http://msdn.microsoft.com/en-us/library/bb383977.aspx
Nu zijn er natuurlijk altijd 2 (of meer?) mogelijkheden om problemen op te lossen, nu gaat het mij om het ophalen van files uit een directory.
Dus, extension method:
C#:
1
2
3
| public static FileInfo GetSfvFile(this DirectoryInfo directory) { return directory.EnumerateFiles("*.sfv").SingleOrDefault(); //Neem aan dat er maar 1 SFV file in een directory zit. } |
of normale method:
C#:
1
2
3
| public FileInfo GetSfvFile(DirectoryInfo directory) { //body zelfde als extension method. } |
Het grote verschil tussen deze twee is de aanroep:
C#:
1
2
3
4
| public void foo() { //Assume: var directory = DirectoryInfo instance var file = directory.GetSfvFile(); } |
of:
C#:
1
2
3
4
| public void foo() { //Assume: var directory = DirectoryInfo instance var file = GetSfvFile(directory); } |
Wat heeft jullie voorkeur? En zijn er nog voor / nadelen aan bepaalde methodes die ik over het hoofd heb gezien?
Als er een betere manier is, dan hoor ik dat natuurlijk graag