You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将包含构造函数、内部类的C#类转换为Python代码

C#类转Python等效实现

你提供的C#代码存在两处拼写笔误:Proeprty应为Property,构造函数内的MyInnerClass .car应为MyInnerClass.Car,以下是完全等效的Python代码实现:

基础实现(完全对应C#属性逻辑)

class Person:
    # 嵌套内部类,对应C#的InnerClass
    class InnerClass:
        @property
        def Car(self):
            return self._car
        @Car.setter
        def Car(self, value):
            self._car = value

    @property
    def Name(self):
        return self._name
    @Name.setter
    def Name(self, value):
        self._name = value

    @property
    def MyInnerClass(self):
        return self._my_inner_class
    @MyInnerClass.setter
    def MyInnerClass(self, value):
        self._my_inner_class = value

    # 构造函数,对应C#的Person构造方法
    def __init__(self, name: str, my_inner_class: InnerClass):
        self.Name = name
        self.MyInnerClass = my_inner_class
        self.MyInnerClass.Car = "Mercedes"

简化实现(Python常用写法,效果等效)

如果不需要对属性的读写做额外校验,Python可以省略显式的property定义,直接绑定实例属性即可,代码更简洁:

class Person:
    class InnerClass:
        def __init__(self):
            self.Car = None

    def __init__(self, name: str, my_inner_class: InnerClass):
        self.Name = name
        self.MyInnerClass = my_inner_class
        self.MyInnerClass.Car = "Mercedes"

对应关系说明

  • C#的嵌套类直接在Python外部类的内部定义即可,若要模拟C#默认私有嵌套类的语义,可给内部类名添加单下划线前缀作为私有约定标识
  • C#的{get;set;}自动属性在无额外逻辑的场景下,直接给Python实例绑定普通属性即可实现等效的读写功能
  • C#的构造函数对应Python类的__init__方法

内容的提问来源于stack exchange,提问作者Henry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 06:54:02