ソースコード:values()

(メソッド dict.values に相当する)メソッド values の定義を含む、ソースコードの断片を次に示します。

# IronPython-1.1.2/Src/IronPython/Runtime/Dict.cs
[PythonType("dict")]
public class Dict : ... IDictionary ... {
...
[PythonName("values")]
public List values() {
return DictOps.Values(this);
}

メソッド values では、メソッド DictOps.Values の実引数に、this を指定しています。これは、内部クラス DictOps ですべての操作を実現しているので、それに自身 this の処理を委ねるためです。このとき(Dict のインスタンス)this は、インターフェース IDictionary の規定に従うものとします。

    internal static class DictOps {
...
public static List Values(IDictionary self) {
return List.Make(self.Values);
}

静的メソッド Values では、リターン値になるリストを生成するために、プロパティー IDictionary.Values を利用しているのが分かります。
ここでは、どのようにしてリストが得られるか(how)は知らなくても、それを使ってなにをしたいか(what)を理解できれば、十分です。self.Values と同じ要素を持つリストが欲しいときに、List.Make を利用するだけです。