[英]Custom struct with casting to another type in C#
我目前有一個結構,可以將其轉換為其他類型:
public static implicit operator Vector2(Complex a)
{
return new Vector2(a.Real,a.Imaginary);
}
目前如何自動允許:
Vector2 a = new Complex(b,c); //valid
但我希望它不會自動允許這樣做。 但只能允許:
Vector2 a = (Vector2) new Complex(b,c);
如何將浮點型轉換為int的方式對結構進行這種類型的行為的受限轉換?
只需將implicit
explicit
更改為explicit
implicit
即可:
public static explicit operator Vector2(Complex a)
implicit
部分告訴編譯器無需代碼即可指定轉換即可完成此操作。 有關更多詳細信息,請參見Microsoft文檔中有關用戶定義的運算符的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.