欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#自定義轉(zhuǎn)換器的實現(xiàn)

 更新時間:2025年01月22日 10:04:52   作者:我好喜歡你~  
本文主要介紹了C#自定義轉(zhuǎn)換器的實現(xiàn),包括隱式轉(zhuǎn)換和顯式轉(zhuǎn)換的語法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一般我們想到轉(zhuǎn)換器是否都是Int 轉(zhuǎn)換成 double類型,Double 類型轉(zhuǎn)換成Int類型。或者更復(fù)雜一點的是Object 轉(zhuǎn)換成 File 等引用類型。這種都涉及到了類型之間的轉(zhuǎn)換,其實C#已經(jīng)幫我們實現(xiàn)了。
如何實現(xiàn)一個更復(fù)雜的;兩個類型之間 的轉(zhuǎn)換呢?這里需要我們自定義類型轉(zhuǎn)換方法 。

1.自定義轉(zhuǎn)換語法

這里列舉一個例子,我們這里有Student類 和 Employ類 我想實現(xiàn)這兩種數(shù)據(jù)類型的轉(zhuǎn)換。

這里有兩個方法,第一個方法將Studnet 類型轉(zhuǎn)換成Employee類型。

用Static implicit 修飾 是代表隱式轉(zhuǎn)換 返回的是Employee 實例就是 轉(zhuǎn)換成Employee類型。
用Static explicit 修飾代碼的是顯示轉(zhuǎn)換,返回的是Student 實例就是轉(zhuǎn)換成Student類型。

2.使用

這里我把之前的單例模式再復(fù)習(xí)一遍。

namespace Study12_自定義數(shù)據(jù)類型轉(zhuǎn)換.Common
{
    public class Singleton<T> where T : class
    {
        private static object _object = new object();

        private static T _instance;

        public static T Instance
        {
            get
            {
                if (_instance == null)
                {
                    lock (_object)
                    {
                        if (_instance == null)
                        {
                            _instance = Activator.CreateInstance<T>();
                        }
                        return _instance;
                    }
                }
                return _instance;
            }
        }
    }
}
public class DataConverter:Singleton<DataConverter>
{
    public Student GetStudent(Employee emp)
    {
        return (Student)emp;
    }

    public Employee GetEmployee(Student student)
    {
        return student;
    }
}

使用

internal class Program
{
    static void Main(string[] args)
    {
       Employee employee= DataConverter.Instance.GetEmployee(new Student
        {
            Id = 1,
            Name = "小明"
        });
        employee.DoWork();
        Console.WriteLine("Hello, World!");

        //throw new NotImplementedException();
       
    }
}

輸出

在這里插入圖片描述

3.總結(jié)

static implicit 表示隱式類型轉(zhuǎn)換 修飾要轉(zhuǎn)換的類型 返回該類型對象 沒有方法名,這里的方法名就是轉(zhuǎn)換的類型。
Static explicit 表示顯式轉(zhuǎn)換 修飾同上。

到此這篇關(guān)于C#自定義轉(zhuǎn)換器的實現(xiàn)的文章就介紹到這了,更多相關(guān)C#自定義轉(zhuǎn)換器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#實現(xiàn)自定義線程池實例代碼

    C#實現(xiàn)自定義線程池實例代碼

    這篇文章介紹了C#實現(xiàn)自定義線程池的實例代碼,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • C#如何動態(tài)設(shè)置屏幕分辨率

    C#如何動態(tài)設(shè)置屏幕分辨率

    這篇文章主要為大家詳細(xì)介紹了C#動態(tài)設(shè)置屏幕分辨率的方法,我們可以使用Screen類設(shè)置屏幕分辨率,感興趣的小伙伴們可以參考一下
    2016-04-04
  • C#類和結(jié)構(gòu)詳解

    C#類和結(jié)構(gòu)詳解

    本文詳細(xì)講解了C#中的類和結(jié)構(gòu),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • C#中委托的基本概念介紹

    C#中委托的基本概念介紹

    這篇文章主要介紹了C#中委托的基本概念介紹,本文講解了委托的使用、委托類型和委托實例、委托的合并和刪除、委托是不易變的、委托調(diào)用列表、GetInvocationList等內(nèi)容,需要的朋友可以參考下
    2015-02-02
  • 一文帶你深入了解C#中的特殊字符

    一文帶你深入了解C#中的特殊字符

    特殊字符是預(yù)定義的上下文字符,用于修飾最前面插入了此類字符的程序元素,C#支持以下特殊字符:@和$,本文將通過代碼示例帶大家深入了解C#中的特殊字符,感興趣的小伙伴跟著小編一起來看看吧
    2024-01-01
  • C#8.0中新語法“is{}“的介紹及使用小結(jié)

    C#8.0中新語法“is{}“的介紹及使用小結(jié)

    is模式匹配操作符通過測試一個變量是否是一個對象,來判斷其是否不為null值,本文主要介紹了C#8.0中新語法“is{}“的介紹及使用小結(jié),感興趣的可以了解一下
    2023-11-11
  • C#線程 BeginInvoke和EndInvoke使用方法

    C#線程 BeginInvoke和EndInvoke使用方法

    本文開始C#線程系列講座之一,即BeginInvoke和EndInvoke的使用方法,需要的朋友可以參考下
    2013-05-05
  • C#使用foreach語句遍歷二維數(shù)組的方法

    C#使用foreach語句遍歷二維數(shù)組的方法

    這篇文章主要介紹了C#使用foreach語句遍歷二維數(shù)組的方法,實例分析了C#遍歷數(shù)組的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • C#命令模式(Command Pattern)實例教程

    C#命令模式(Command Pattern)實例教程

    這篇文章主要介紹了C#命令模式(Command Pattern),以實例的形式講述了命令模式通過一個指令來控制多個類的多個方法,需要的朋友可以參考下
    2014-09-09
  • C#判斷日期是否到期的方法

    C#判斷日期是否到期的方法

    這篇文章主要介紹了C#判斷日期是否到期的方法,是C#程序設(shè)計中非常實用的技巧,需要的朋友可以參考下
    2014-08-08

最新評論