在C#中,如果Class A有一成员为Class B,我应该怎样在Class B对象中访问包含它的对应Class A对象?
时间: 2024-02-20 08:02:07 浏览: 104
你可以在Class B中定义一个成员变量来存储对应的Class A对象的引用,然后在构造函数中将Class A对象的引用传递给Class B对象。这样,在Class B对象中就可以通过这个成员变量来访问包含它的对应Class A对象了。以下是一个示例代码:
```csharp
class A {
private B b;
public A() {
b = new B(this);
}
}
class B {
private A a;
public B(A a) {
this.a = a;
}
}
```
在这个示例中,Class A在构造函数中创建了一个Class B对象,并将自身的引用传递给Class B对象。Class B接收到Class A对象的引用后,将其存储在成员变量a中,可以通过a来访问包含它的对应Class A对象。
相关问题
C# 是有一个class1的类,然后在一个名为myClass的类中有List<Class1> list=new List<Class1>() ,现在只获得list中的某个对象,能不能通过这个对象获得mycalss对象
不可以直接通过list中的某个对象获得myClass对象。因为一个对象可以被多个不同的列表所引用,所以不能从一个对象去推出它所属的列表。但是,如果在Class1中添加一个属性来保存它所属的myClass对象,那么就可以通过该属性来获取myClass对象了。例如,在Class1中添加一个属性:
```
public MyClass ParentClass { get; set; }
```
在创建list时,为每个Class1对象设置ParentClass属性:
```
MyClass myClass = new MyClass();
List<Class1> list = new List<Class1>();
Class1 obj1 = new Class1();
obj1.ParentClass = myClass;
list.Add(obj1);
Class1 obj2 = new Class1();
obj2.ParentClass = myClass;
list.Add(obj2);
```
然后,就可以通过list中的某个对象的ParentClass属性来获取myClass对象了:
```
MyClass myClassObj = list[0].ParentClass;
```
c#中public class
在 C# 中,`public class` 关键字用于声明一个公共类。"Public" 表示该类可以从其他程序集(包括内部和外部的类库)访问,这意味着其他开发者可以创建这个类的对象并使用其公开的属性、字段和方法。`Class` 是类(Class)的定义关键字,它表示你正在定义一个可以封装数据和行为的蓝图。
当你定义一个 `public class` 类时,通常会有一个名称,例如 `MyClass`,然后你可以在这个类中添加成员(如字段、属性、方法等),以及对这些成员的访问修饰符(如 `private`、`protected` 等)。类还可以包含构造函数,用于初始化实例,并可能有继承关系,从父类继承特性。
例如:
```csharp
public class MyClass
{
public int PublicField; // 公开字段
private string PrivateField; // 私有的字段
public void MyPublicMethod() // 公共方法
{
Console.WriteLine("This is a public method.");
}
// 构造函数
public MyClass(int value)
{
PublicField = value;
}
}
```
阅读全文