Я согласен с предыдущими плакатами, что вы, вероятно, должны использовать свойства. Отражение происходит очень медленно по сравнению с прямым доступом к свойствам.
С другой стороны, если вам нужно поддерживать список пользовательских свойств, то вы не можете использовать свойства C #. Вам нужно сделать вид, что вы Dictionary
, или вам нужно выставить свойство, которое ведет себя как Dictionary
. Ниже приведен пример того, как вы можете создать класс Account для пользовательских свойств:
public class Account
{
Dictionary<string, object> properties;
public object this[string propertyName]
{
get
{
if (properties.ContainsKey[propertyName])
return properties[propertyName];
else
return null;
}
set
{
properties[propertyName] = value;
}
}
}
В исходной команде exec в контейнер вы передаете команду -c ubuntu
, то есть вы выбираете контейнер Ubuntu из модуля:
kubectl exec command-demo-67m2b -c
ubuntu
-- sh -c "ls /tmp"
Однако в вашей команде kubectl cp
, вы не указываете тот же контейнер:
kubectl cp command-demo-67m2b/ubuntu:/tmp /home
Попробуйте это:
kubectl cp command-demo-67m2b:/tmp /home -c ubuntu