You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
abp/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/PersonCacheItem.cs

65 lines
1.4 KiB

using System;
using System.Linq;
namespace Volo.Abp.Caching
{
[Serializable]
public class PersonCacheItem
{
public string Name { get; private set; }
private PersonCacheItem()
{
}
public PersonCacheItem(string name)
{
Name = name;
}
}
public class ComplexObjectAsCacheKey
{
public string Name { get; set; }
public int Age { get; set; }
public override string ToString()
{
// Return selective fields
//return $"{Name}_{Age}";
// Return all the fields concatenated
var sb = new System.Text.StringBuilder();
var properties = this.GetType().GetProperties()
.Where(prop => prop.CanRead && prop.CanWrite);
foreach (var prop in properties)
{
var value = prop.GetValue(this, null);
if (value != null)
{
sb.Append(value.ToString());
}
}
return sb.ToString();
}
}
}
namespace Sail.Testing.Caching
{
[Serializable]
public class PersonCacheItem
{
public string Name { get; private set; }
private PersonCacheItem()
{
}
public PersonCacheItem(string name)
{
Name = name;
}
}
}