c# - 如何设置类属性的隐式分配?

标签 c# c#-4.0 operators operator-overloading implicit-conversion

我有一个自定义类,想隐式地为其属性之一赋值。我知道 Microsoft 曾经将此内置到某些控件中,例如 TextBox1 = "Sets the TextBox1.Text property"。是因为它是编译器内置的还是可用的,所以只限于 Microsoft?

这看起来类似于隐式转换,但我需要一个结果实例来修改。

我的实际代码示例:

public class CustomObject<TObject>
{
    public TObject BaseObject { get; set; }

    //Psuedocode for what I want, this doesn't compile for multiple reason
    public implicit operator CustomObject<TObject>(TObject FillIn)
    {
         this.BaseObject = FillIn;
    }
}

//Usage
var x = new CustomObject<int>();
x = 3; //this is the end result I want to code.

最佳答案

C# 中的隐式重载运算符不能设置对象的属性,它只能转换自身为对象。

VB6 的默认属性在 C# 或 VB.NET 中不可用.

关于c# - 如何设置类属性的隐式分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15558793/

相关文章:

r - R 中的++ 运算符

c# - 为 jquery.ajax() 生成自定义错误

c# - 我如何获得光标 :pointer on an embedded object?

c# - 如何将 valuetype 设置为正整数?

c# - 通过linq获取一个属性的集合

.net - 如何尽快删除 SortedDictionary 的第二个元素?

c++ - 无法重载 glm::vec2 '<' 运算符

c# - IoC、Dll 引用和程序集扫描

c# - 拦截asp.net core Authorize Action 授权成功后执行自定义 Action

c# - 模拟 "inverse of ??"等运算符