# ChatCompletionMessage
Namespace: LLama.Types
```csharp
public class ChatCompletionMessage : System.IEquatable`1[[LLama.Types.ChatCompletionMessage, LLamaSharp, Version=0.2.0.0, Culture=neutral, PublicKeyToken=null]]
```
Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ChatCompletionMessage](./llama.types.chatcompletionmessage.md)
Implements [IEquatable<ChatCompletionMessage>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1)
## Properties
### **Role**
```csharp
public ChatRole Role { get; set; }
```
#### Property Value
[ChatRole](./llama.types.chatrole.md)
### **Content**
```csharp
public string Content { get; set; }
```
#### Property Value
[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
### **Name**
```csharp
public string Name { get; set; }
```
#### Property Value
[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
## Constructors
### **ChatCompletionMessage(ChatRole, String, String)**
```csharp
public ChatCompletionMessage(ChatRole Role, string Content, string Name)
```
#### Parameters
`Role` [ChatRole](./llama.types.chatrole.md)
`Content` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
`Name` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
## Methods
### **ToString()**
```csharp
public string ToString()
```
#### Returns
[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
### **PrintMembers(StringBuilder)**
```csharp
protected bool PrintMembers(StringBuilder builder)
```
#### Parameters
`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
#### Returns
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **GetHashCode()**
```csharp
public int GetHashCode()
```
#### Returns
[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
### **Equals(Object)**
```csharp
public bool Equals(object obj)
```
#### Parameters
`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
#### Returns
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **Equals(ChatCompletionMessage)**
```csharp
public bool Equals(ChatCompletionMessage other)
```
#### Parameters
`other` [ChatCompletionMessage](./llama.types.chatcompletionmessage.md)
#### Returns
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **<Clone>$()**
```csharp
public ChatCompletionMessage $()
```
#### Returns
[ChatCompletionMessage](./llama.types.chatcompletionmessage.md)
### **Deconstruct(ChatRole&, String&, String&)**
```csharp
public void Deconstruct(ChatRole& Role, String& Content, String& Name)
```
#### Parameters
`Role` [ChatRole&](./llama.types.chatrole&.md)
`Content` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
`Name` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)