C# 如何使用自己定义的类
时间: 2024-01-05 15:02:40 浏览: 41
在C#中,使用自己定义的类有以下几个步骤:
1. 定义类
首先需要定义一个自己的类,可以使用类似下面的语法:
```csharp
public class MyClass
{
// 类成员
}
```
2. 创建类实例
在需要使用该类的地方,需要先创建一个该类的实例,例如:
```csharp
MyClass myClass = new MyClass();
```
这样就创建了一个名为`myClass`的`MyClass`类实例。
3. 调用类成员
在创建了类的实例后,就可以通过实例来访问类的成员,例如类的属性或方法。假设`MyClass`类有一个名为`MyProperty`的属性和一个名为`MyMethod`的方法,可以使用下面的语法来访问:
```csharp
// 获取属性值
int propertyValue = myClass.MyProperty;
// 调用方法
myClass.MyMethod();
```
通过这些步骤,就可以在C#中使用自己定义的类了。需要注意的是,类的访问修饰符需要根据实际需要进行选择,例如`public`表示该类是公共的,可以被其他代码访问。
相关问题
c# 反射类型为自己定义类
可以使用`Type.GetType(string typeName)`方法获取自定义类的类型,其中`typeName`参数需要传入类的全名,包括命名空间。例如:
```csharp
using System;
namespace MyNamespace
{
public class MyClass
{
public void MyMethod()
{
Console.WriteLine("Hello World!");
}
}
}
class Program
{
static void Main(string[] args)
{
string className = "MyNamespace.MyClass";
Type type = Type.GetType(className);
object instance = Activator.CreateInstance(type);
type.GetMethod("MyMethod").Invoke(instance, null);
}
}
```
注意,如果自定义类不在当前程序集中,还需要指定程序集的名称。可以使用`Assembly.Load(string assemblyString)`方法加载程序集,然后使用`Assembly.GetType(string typeName)`方法获取类型。例如:
```csharp
using System;
using System.Reflection;
namespace MyNamespace
{
public class MyClass
{
public void MyMethod()
{
Console.WriteLine("Hello World!");
}
}
}
class Program
{
static void Main(string[] args)
{
string assemblyName = "MyAssembly";
string className = "MyNamespace.MyClass";
Assembly assembly = Assembly.Load(assemblyName);
Type type = assembly.GetType(className);
object instance = Activator.CreateInstance(type);
type.GetMethod("MyMethod").Invoke(instance, null);
}
}
```
c#定义类例子
下面是一个简单的 C# 类的示例:
```csharp
public class Person
{
// 定义属性
public string Name { get; set; }
public int Age { get; set; }
// 定义方法
public void SayHello()
{
Console.WriteLine("Hello, my name is " + Name + " and I am " + Age + " years old.");
}
}
```
在上面的代码中,我们定义了一个名为 `Person` 的类,它具有两个属性 `Name` 和 `Age`,以及一个方法 `SayHello`,该方法将打印出一条问候语,其中包含对象的名称和年龄。
我们可以使用以下方式创建一个 `Person` 对象并调用其 `SayHello` 方法:
```csharp
Person person = new Person();
person.Name = "Bob";
person.Age = 30;
person.SayHello(); // 输出: Hello, my name is Bob and I am 30 years old.
```