首頁 > 後端開發 > C++ > 如何在 C# 中實作通用 TryParse 方法?

如何在 C# 中實作通用 TryParse 方法?

Mary-Kate Olsen
發布: 2025-01-04 05:07:43
原創
633 人瀏覽過

How Can I Implement a Generic TryParse Method in C#?

通用TryParse:探索替代方法

嘗試使用「TryParse」實現通用字串轉換可能會造成由於缺乏“TryParse”作為介面方法而面臨的挑戰。本文探討了克服此障礙的潛在解決方案。

社群建議的一種方法是利用 TypeDescriptor 類別。此類別提供了一種獲取特定類型的轉換器的方法。透過在檢索到的轉換器上呼叫 ConvertFromString 方法,可以將字串輸入轉換為所需的類型。此方法還處理轉換期間可能出現的異常。

public static T Convert<T>(this string input)
{
    try
    {
        var converter = TypeDescriptor.GetConverter(typeof(T));
        if(converter != null)
        {
            // Cast ConvertFromString(string text) : object to (T)
            return (T)converter.ConvertFromString(input);
        }
        return default(T);
    }
    catch (NotSupportedException)
    {
        return default(T);
    }
}
登入後複製

或者,可以修改程式碼以接受目標類型作為參數,從而消除對泛型的需要。這種方法提供了對轉換過程的更多控制。

public static bool Is(this string input, Type targetType)
{
    try
    {
        TypeDescriptor.GetConverter(targetType).ConvertFromString(input);
        return true;
    }
    catch
    {
        return false;
    }
}
登入後複製

儘管基於異常的方法可能看起來非常規,但它為執行通用字串轉換的挑戰提供了可行的解決方案。

以上是如何在 C# 中實作通用 TryParse 方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板