![](/img/trans.png)
[英]Does .NET on Silverlight have the equivalent of firstObjectCommonWithArray in Objective-C?
[英]Does C# have a equivalent to Objective-c's category?
我正在尋找與C#語言的Objective-c類別相當的東西。
您無法向類添加方法,但是您可以使用擴展方法來實現類似的效果。
使用靜態方法創建一個靜態類。 靜態方法第一個參數用“this”標記,方法用類型參數裝飾到類。
namespace ExtensionMethods
{
public static class MyExtensions
{
public static int WordCount(this String str)
{
return str.Split(new char[] { ' ', '.', '?' },
StringSplitOptions.RemoveEmptyEntries).Length;
}
}
}
然后,此方法將在String類型的所有實例上可用。 但是,您仍然需要通過使用擴展類。
該示例來自Microsoft自己的文檔: http : //msdn.microsoft.com/en-us/library/bb383977.aspx
與C#中的Objective-C類別最接近的是擴展方法 。
請注意, C#是一種靜態類型語言 ,不像Objective-C那樣使用動態調度。 這意味着方法解析在編譯時執行,而不是在運行時執行,就像您在Objective-C中習慣的那樣。
相關資源:
類別是否允許您在不對其進行子類化的情況下向現有類添加方法? 如果是這樣,則擴展方法將是C#等價物。 它們不會取代現有的方法,但會受到一些限制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.